home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 1 / Cream of the Crop 1.iso / PROGRAM / SUPRMANT.ARJ / SMUTIL.EXE / MANUAL.HLP next >
Text File  |  1991-05-25  |  121KB  |  3,059 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.                     Programmer's SUPER-MAINT (tm)
  10.  
  11.  
  12.                              Version 2
  13.  
  14.  
  15.                      The 'Easier' Make Utility
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.                                   _______
  27.             EmmaSoft         ____|__     |               (tm)
  28.           PO Box 238      --|       |    |-------------------
  29.    Lansing, NY 14882        |   ____|__  |  Association of
  30.                             |  |       |_|  Shareware
  31. (voice) 607-533-4685        |__|   o   |    Professionals
  32.   (BBS) 607-533-7072      -----|   |   |---------------------
  33.                                |___|___|    MEMBER
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.                        All Rights Reserved
  52.                 Copyright 1990,1991 by EmmaSoft
  53.  
  54. Trademarks:
  55.  
  56. "Programmer's SUPER-MAINT" and "SUPER-MAINT" are trademarks of
  57. EmmaSoft
  58. "Clear+" is a trademark of Clear Software, Inc.
  59. "PC-Lint" is a trademark of Gimpel Software
  60. "MS-DOS", "MS", "Codeview" and "Microsoft" are registered
  61. trademarks of Microsoft Corporation
  62. "Turbo C" is a trademark of Borland International, Inc.
  63. "CompuServe" is a registered trademark of CompuServe Information
  64. Service
  65.  
  66. Hardware Requirements:
  67.  
  68. SUPER-MAINT will run on any IBM XT, AT, 386, 486 or true
  69. compatible machine using DOS 3.1 or higher, with 640KB of memory
  70. (it may run with less memory, but has been tested on 640KB
  71. machines.  We assume that between SUPER-MAINT and your compilers
  72. that you will want this much memory), on color and monochrome
  73. systems.
  74.  
  75. Software Requirements:
  76.  
  77. SUPER-MAINT supports Microsoft, Borland, and Mix compilers and
  78. assemblers.  As support grows for additional products they will be
  79. listed in the file README.SUP.
  80.  
  81. Getting Help:
  82.  
  83. Registered Users may get tech support by phone (607-533-4685)
  84. during EmmaSoft's business hours (M-F, 9-12,1-5, Sometimes
  85. Saturdays), by mail, on CompuServe (71460,2644), or on EmmaSoft's
  86. BBS (607-533-7072  N,8,1  2400, 1200, 300 bps  24 hours a day). 
  87. Please include your serial number in all requests for technical
  88. assistance.  If you get the answering machine please leave a
  89. number and some good times to call you collect.  Before asking for
  90. technical assistance please follow the procedure outlined in the
  91. chapter "About Shareware, EmmaSoft, and Help."
  92.  
  93. For the latest versions of all EmmaSoft shareware products plus a
  94. large collection of other shareware, call our BBS at the above
  95. number.  Access if free, downloads unlimited.
  96.  
  97.                             Table of Contents:
  98.  
  99.  
  100. LICENSE AGREEMENT AND WARRANTY: . . . . . . . . . . . . . . . . .  6
  101. Entering Your Registration. . . . . . . . . . . . . . . . . . . .  7
  102.  
  103. On-Line Manual: . . . . . . . . . . . . . . . . . . . . . . . . .  7
  104. Table of Contents . . . . . . . . . . . . . . . . . . . . . . . .  7
  105. Printing The Manual . . . . . . . . . . . . . . . . . . . . . . .  7
  106.  
  107. INTRODUCTION. . . . . . . . . . . . . . . . . . . . . . . . . . .  8
  108.         What is a Make Program? . . . . . . . . . . . . . . . . .  8
  109.         Wherefore SUPER-MAINT?. . . . . . . . . . . . . . . . . .  8
  110.  
  111. Chapter 1:  Getting Started . . . . . . . . . . . . . . . . . . . 10
  112.         Installation. . . . . . . . . . . . . . . . . . . . . . . 10
  113.         The SUPERFILES Variable . . . . . . . . . . . . . . . . . 10
  114.         Mouse Stuff . . . . . . . . . . . . . . . . . . . . . . . 11
  115.         Time and Date . . . . . . . . . . . . . . . . . . . . . . 11
  116.         Quick Start: The Demo Compilers . . . . . . . . . . . . . 11
  117.                Automatic Make File Generation . . . . . . . . . . 12
  118.                Build a Program. . . . . . . . . . . . . . . . . . 13
  119.  
  120. Chapter 2:  Help (SMH.EXE). . . . . . . . . . . . . . . . . . . . 15
  121.  
  122. Chapter 3:  Make Files and Macros . . . . . . . . . . . . . . . . 16
  123.         What is a Make File?. . . . . . . . . . . . . . . . . . . 16
  124.         What is a Macro?. . . . . . . . . . . . . . . . . . . . . 16
  125.         Make File Format. . . . . . . . . . . . . . . . . . . . . 16
  126.                Action Blocks. . . . . . . . . . . . . . . . . . . 16
  127.                        Target/Dependent Line. . . . . . . . . . . 17
  128.                        Command Line . . . . . . . . . . . . . . . 17
  129.                        The Whole Action Block . . . . . . . . . . 17
  130.                        Dependent Special Cases. . . . . . . . . . 18
  131.                Defining Macros. . . . . . . . . . . . . . . . . . 18
  132.                        Macros SUPER-MAINT NEEDS  (Macro Sets) . . 18
  133.                        Optional Macros You May Define . . . . . . 20
  134.  
  135. Chapter 4:  Building Files with the Editor (SME.EXE). . . . . . . 21
  136.         General Program Commands. . . . . . . . . . . . . . . . . 21
  137.         Building Make Files . . . . . . . . . . . . . . . . . . . 21
  138.         The MAKE menu . . . . . . . . . . . . . . . . . . . . . . 22
  139.                Pick Code Files. . . . . . . . . . . . . . . . . . 22
  140.                        Mark The Files:. . . . . . . . . . . . . . 22
  141.                        Choose the File Name:. . . . . . . . . . . 23
  142.                New File (reset) . . . . . . . . . . . . . . . . . 24
  143.                Edit Old File. . . . . . . . . . . . . . . . . . . 24
  144.                Macros . . . . . . . . . . . . . . . . . . . . . . 24
  145.                        Viewing Macros and LASTMACS.SM . . . . . . 24
  146.                        Executable Files or Library. . . . . . . . 25
  147.                        Editing a Macro Set. . . . . . . . . . . . 25
  148.                        Language Definition Files. . . . . . . . . 26
  149.                        Resetting a Macro Set. . . . . . . . . . . 26
  150.                        Macro Help Screens . . . . . . . . . . . . 26
  151.                        Adding a New Language. . . . . . . . . . . 27
  152.                        Macros Windows Command Summary:. . . . . . 27
  153.                        Source Code Files. . . . . . . . . . . . . 27
  154.                Text Editor. . . . . . . . . . . . . . . . . . . . 28
  155.                File Names . . . . . . . . . . . . . . . . . . . . 28
  156.                SUPER-MAINT===========>. . . . . . . . . . . . . . 28
  157.         The SETUP menu. . . . . . . . . . . . . . . . . . . . . . 28
  158.                Advanced . . . . . . . . . . . . . . . . . . . . . 28
  159.                Novice . . . . . . . . . . . . . . . . . . . . . . 29
  160.         The TOOLBOX menu. . . . . . . . . . . . . . . . . . . . . 29
  161.                Information. . . . . . . . . . . . . . . . . . . . 29
  162.                Version. . . . . . . . . . . . . . . . . . . . . . 29
  163.                Lang Def Files . . . . . . . . . . . . . . . . . . 29
  164.                        Saving The New Definition. . . . . . . . . 30
  165.                Manual . . . . . . . . . . . . . . . . . . . . . . 31
  166.                Edit Help. . . . . . . . . . . . . . . . . . . . . 31
  167.                Go To DOS. . . . . . . . . . . . . . . . . . . . . 32
  168.  
  169. Chapter 5:  Setup (SMSET.EXE) . . . . . . . . . . . . . . . . . . 33
  170.         A Note for Escape Artists . . . . . . . . . . . . . . . . 33
  171.         General Program Commands (Advanced Mode). . . . . . . . . 33
  172.         Colors. . . . . . . . . . . . . . . . . . . . . . . . . . 34
  173.         Which . . . . . . . . . . . . . . . . . . . . . . . . . . 34
  174.         SM_Files. . . . . . . . . . . . . . . . . . . . . . . . . 35
  175.         File Names. . . . . . . . . . . . . . . . . . . . . . . . 36
  176.         Defaults. . . . . . . . . . . . . . . . . . . . . . . . . 36
  177.         Libraries . . . . . . . . . . . . . . . . . . . . . . . . 37
  178.         Glob/Loc. . . . . . . . . . . . . . . . . . . . . . . . . 37
  179.  
  180. Chapter 6:  Using the Maker (SM.EXE). . . . . . . . . . . . . . . 38
  181.         Command Format. . . . . . . . . . . . . . . . . . . . . . 38
  182.         Remembering Memory Models . . . . . . . . . . . . . . . . 39
  183.         Command Summary . . . . . . . . . . . . . . . . . . . . . 39
  184.                Sets of flags: . . . . . . . . . . . . . . . . . . 40
  185.                Toggles: . . . . . . . . . . . . . . . . . . . . . 40
  186.         Viewing Settings. . . . . . . . . . . . . . . . . . . . . 41
  187.  
  188. Chapter 7:  Program Files . . . . . . . . . . . . . . . . . . . . 42
  189.         Executable Files: . . . . . . . . . . . . . . . . . . . . 42
  190.         Initialization Files: . . . . . . . . . . . . . . . . . . 42
  191.         Language Definition Files:. . . . . . . . . . . . . . . . 42
  192.         Files Read by Help Facility:. . . . . . . . . . . . . . . 42
  193.         Files SUPER-MAINT Generates . . . . . . . . . . . . . . . 42
  194.         Self Extracting Files . . . . . . . . . . . . . . . . . . 43
  195.         Information Files:. . . . . . . . . . . . . . . . . . . . 43
  196.  
  197. Chapter 8:  File Samples. . . . . . . . . . . . . . . . . . . . . 44
  198.         SUPER-MAINT Make File:. . . . . . . . . . . . . . . . . . 44
  199.         Microsoft MAKE/NMAKE File . . . . . . . . . . . . . . . . 47
  200.         Batch File for MAKE/NMAKE . . . . . . . . . . . . . . . . 47
  201.     PC-lint 'Indirect' File . . . . . . . . . . . . . . . . . 48
  202.         Clear+ 'List' File. . . . . . . . . . . . . . . . . . . . 48
  203.  
  204. Chapter 9:  About Shareware . . . . . . . . . . . . . . . . . . . 49
  205.         Shareware, EmmaSoft, and Help . . . . . . . . . . . . . . 49
  206.         Distribution. . . . . . . . . . . . . . . . . . . . . . . 49
  207.         ASP . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
  208.         Ombudsman Statement . . . . . . . . . . . . . . . . . . . 51
  209.         Technical Support . . . . . . . . . . . . . . . . . . . . 51
  210.         EmmaSoft BBS Support. . . . . . . . . . . . . . . . . . . 52
  211.  
  212. Appendix A: Error Messages. . . . . . . . . . . . . . . . . . . . 53
  213.  
  214. Appendix B: Program Specifications. . . . . . . . . . . . . . . . 55
  215.  
  216. Appendix C: The Landscape Printer . . . . . . . . . . . . . . . . 56
  217.  
  218. Appendix D: Registration Form . . . . . . . . . . . . . . . . . . 57
  219.  
  220. Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
  221.  
  222. LICENSE AGREEMENT AND WARRANTY:
  223.  
  224. License:
  225.  
  226.        1.      You may use the program on a single computer at one
  227.                time.  You may not copy the program and accompanying
  228.                materials except for backup purposes or to distribute it
  229.                as shareware.  See the file VENDOR.DOC for distribution
  230.                requirements
  231.  
  232.         2.     You may not make copies of the program for sale.
  233.  
  234.         3.     This software is copyrighted, and all rights therein are
  235.                reserved for EmmaSoft.  Registration or purchase of this
  236.                product does not transfer any right, title, or interest
  237.                in the software except as specifically set forth in this
  238.                agreement.  You are hereby notified that the software
  239.                product is protected by United States copyright Law, and
  240.                you may be held by responsible by EmmaSoft for any
  241.                infringement of such rights or violations to this
  242.                agreement.
  243.  
  244.         4.     This license is effective until terminated.  You may
  245.                terminate it at any time by destroying the program and
  246.                all copies of it.  It will also terminate if you fail to
  247.                comply with any term or condition on this agreement. You
  248.                agree upon termination to destroy the program together
  249.                with all copies of the program.
  250.  
  251. Warranty
  252.  
  253.         1.     This program is provided "as is" without warranty of any
  254.                kind, either expressed or implied, including any
  255.                warranty of merchantability or fitness for a particular
  256.                purpose.  In no event shall EmmaSoft be held liable for
  257.                any loss of profit, special, incidental, consequential,
  258.                or other similar claims.
  259.  
  260.         2.     EmmaSoft does warrant that the magnetic media on which
  261.                the software is furnished is free of defects of
  262.                materials and workmanship under normal use for 60 days,
  263.                provided that EmmaSoft provided your copy of the program
  264.                on such media.  If during this period the diskette
  265.                should become defective it may be returned to EmmaSoft
  266.                for replacement without charge.
  267.  
  268. Governing law shall be that of New York State.
  269.  
  270. %contents%
  271. Registered Users Only!
  272. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  273.  
  274. Thank you for buying Programmer's SUPER-MAINT.  Your registration
  275. entitles you to use a single copy of the program on a single
  276. machine.  With your registration you received a serial number that
  277. entitles you to technical assistance (you will find your serial
  278. number on your SUPER-MAINT disk (Disk 1 if you have 5¼" disks).
  279.  
  280. Entering Your Registration
  281. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  282.  
  283. This section is only available to registered users.  See REG.FRM
  284. to find out how to register.  At only $55 SUPER-MAINT is a great
  285. value!
  286.  
  287. .cp
  288.  
  289. On-Line Manual:
  290. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  291.  
  292. Table of Contents
  293. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  294.  
  295. When viewing this manual on line (in the SUPER-MAINT Editor, or in
  296. the SUPER-MAINT Help Facility) you can read each chapter by
  297. pressing (Alt-x) where 'x' is the first letter of the title of the
  298. chapter.  Alternatively you may click the left button of your
  299. mouse over the chapter title, or use the cursor keys to place the
  300. menu bar over the chapter you wish to view and press 
  301. (Enter).
  302. .cp
  303.  
  304. Printing The Manual
  305. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  306.  
  307. This manual comes formatted for SUPER-MAINT's help system.  To
  308. print out your manual get the on-line table of contents on the
  309. screen.  In the SUPER-MAINT Editor you go to the toolbox menu and
  310. choose 'Manual.'  Or you can access it by using the Help Facility. 
  311. To do this type 'SMH MANUAL' at your DOS prompt.
  312.  
  313. Now press (Shift) (F7) .  If your printer is hooked up to a port
  314. other than lpt1 you may type in the name of that port (lpt2, com1,
  315. com2).  To print the manual to a file that may be imported into
  316. your word processor for later printing replace 'lpt1' with a file
  317. name.  The printed manual includes some information that is not
  318. shown in the on-line version, including in-depth examples of the
  319. various files.  We highly recommend that you print a copy (a
  320. printed manual comes with registered copies of the program).
  321. *END*
  322.  
  323. %intro%
  324. INTRODUCTION≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  325.  
  326. If you are new to using Make programs, please print out and read
  327. the file, NEW2MAKE.TXT, included with this package.
  328.  
  329. What is a Make Program?
  330. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  331.  
  332. Anyone who has written a large program knows it is helpful to
  333. write code in separate files.  This makes it easy to keep like
  334. functions together and organize the code so it is easy to find
  335. portions when you want to.  When you want to build the program you
  336. have to compile each file with the appropriate compiler, then link
  337. the resulting object files together with each other and your
  338. function libraries.
  339. .cp
  340.  
  341. Make programs (program maintenance utilities) automate this
  342. process.  By reading a make file that outlines the construction of
  343. your program, a maker figures out which source code files have
  344. been changed since the last time you built your program.  It
  345. compiles those files, then links your program.  This saves a
  346. considerable amount of time, since only new and changed files are
  347. compiled before linking, and because the maker keeps track of this
  348. instead of you having to do it manually.
  349. .cp
  350.  
  351. Most make files use a Target:Dependents scheme.  The target file
  352. is built if the dependent files have been changed.  The maker
  353. knows a file has changed if it's file date is later than that of
  354. the Target file.  For example:
  355.  
  356.                   MYFILE.OBJ:  MYFILE.C
  357.  
  358. means that if MYFILE.C (the source code) is newer than MYFILE.OBJ
  359. (the object file), then recompile it.  Otherwise leave it alone.
  360.  
  361. .cp
  362.  
  363. Wherefore SUPER-MAINT?
  364. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  365.  
  366. Programmer's SUPER-MAINT is more than a mere maker.  It is a full
  367. featured group of programs that make the process of program
  368. maintenance simple.  Many make programs impose on your project by
  369. insisting that you learn often complicated make file syntax, as
  370. well as having to remember how to access macros from the command
  371. line.  SUPER-MAINT automatically builds your make files for you. 
  372.  
  373.  
  374. Using the SUPER-MAINT Editor (SME.EXE) you just point to the files
  375. you want with your mouse or cursor keys, and the program builds
  376. make files, response files, and even files needed by PC-Lint or
  377. Clear+ to help with debugging.  The Editor is a full featured
  378. program that is fully configurable, has mouse support, an on line
  379. version of this manual, and context-sensitive help.
  380. .cp
  381.  
  382. The maker (SM.EXE) is unique in that it remembers all the
  383. parameters from your last build.  Once you have called the maker
  384. one time with the parameters (command line flags) you want, all
  385. you have to type for subsequent rebuilds is "sm (Enter) ".  That's
  386. it.  To change a parameter (such as memory model, or whether to
  387. include debugging information) you just type "sm" and the
  388. parameter you want to change.  No need to retype the make file
  389. name unless you want to build a different program.  If you like to
  390. keep all your object files in one directory, and/or all your
  391. executable files in another, SUPER-MAINT will automatically put
  392. them in the directory of your choice.
  393.  
  394. SUPER-MAINT's Setup program (SMSET.EXE) controls the behavior of
  395. all the SUPER-MAINT programs.  It can be called from the maker,
  396. the Editor, or from the command line.
  397. .cp
  398.  
  399. The Help Facility (SMH.EXE) is called from the maker when you need
  400. to be reminded of command line flags or other information.  It can
  401. also be used as a stand-alone program.  You can even write your
  402. own help for DOS or other programs.
  403.  
  404. Although the SUPER-MAINT Editor builds make files automatically,
  405. you may write them yourself with any ascii text editor.  Or you
  406. may use the Editor to build a make file, then edit it manually.
  407.  
  408. All in all, Programmer's SUPER-MAINT doesn't impose on your
  409. programming process.  It makes program building so simple that you
  410. can concentrate where you should:  on your program.
  411. *END*
  412.  
  413. %1%
  414. Chapter 1:  Getting Started≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  415.  
  416. Installation
  417. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  418.  
  419. Programmer's SUPER-MAINT comes with a fully automated installation
  420. program.  It is strongly recommended that you use INSTALL.EXE the
  421. first time you install SUPER-MAINT.  This will insure that all
  422. files end up where they belong, and that the setup file is
  423. initialized properly.
  424.  
  425. SUPER-MAINT is installed automatically using INSTALL.EXE.  This
  426. extracts the proper files to a directory of your choosing, adds
  427. commands to your AUTOEXEC.BAT file (only if you tell it to),
  428. builds an initialization file that SUPER-MAINT needs to run
  429. properly, has a reader for the README.SUP file, and lets you re-
  430. install the sample files.
  431. .cp
  432.  
  433. If you choose the 'full installation' option INSTALL.EXE will
  434. install SUPER-MAINT to the disk and directory you choose, create
  435. the initialization file, put the PATH and SET commands in your
  436. AUTOEXEC.BAT file (if you want it to), and call SMSET.EXE in
  437. Novice mode to set up your preferences for SUPER-MAINT.
  438.  
  439. SMSET is the options setup utility that is new as of version 2.00. 
  440. In Novice mode it walks you through an entire setup, one section
  441. at a time.  This first time you should go through the entire setup
  442. to make sure SUPER-MAINT is set the way you want it, and to
  443. familiarize yourself with the options.  If you aren't sure about
  444. a choice, don't worry.  You can always use SMSET.EXE to change an
  445. option.
  446. .cp
  447.  
  448. INSTALL.EXE can add two commands to your AUTOEXEC.BAT file. 
  449. First, it adds the directory you are storing your SUPER-MAINT
  450. files in to the DOS path.  If you already have a PATH statement it
  451. will just add this directory to the list.  Otherwise it will
  452. create a new PATH statement.  Second, it sets the SUPERFILES
  453. variable.  See the next section for an explanation of this.
  454. .cp
  455.  
  456. The SUPERFILES Variable and PATH Command
  457. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  458.  
  459. If you did not let SETUP.EXE set the SUPERFILES variable in your
  460. AUTOEXEC.BAT file it is very important that this be set before you
  461. use any of the SUPER-MAINT programs.  This is how SUPER-MAINT
  462. knows where to find the files it needs to run properly.  It is
  463. best to keep this commands in your AUTOEXEC.BAT file, so they will
  464. be automatically loaded each time you boot.  Alternatively, some
  465. programmers run a special batch file each time they start a
  466. programming session that contains the environment and path
  467. commands specifically needed for a compiler or programming
  468. language.  Another way to do this is simply to type the command at
  469. the DOS prompt.  Whichever way you like to work, make sure the
  470. variable is set before you use SUPER-MAINT.
  471.  
  472. Assuming your SUPER-MAINT files are on drive C: in a subdirectory
  473. called '\SMFILES' the command should look like this:
  474. .cp
  475.  
  476.                      SET SUPERFILES=C:\SMFILES
  477.  
  478. Notice there is no space before or after the '=' sign.
  479.  
  480. It is also important to add the directory your SUPER-MAINT files
  481. are in to your DOS Path.  Your PATH command in AUTOEXEC.BAT
  482. probably looks something like this:
  483.  
  484.                           PATH C:\;C:\DOS
  485.  
  486. To add the SUPER-MAINT directory change the command to look like
  487. this:
  488.  
  489.                       PATH C:\;C:\DOS;C:\SMFILES
  490.  
  491. You may add the above line to AUTOEXEC.BAT, your special batch
  492. file, or type it at the command line.
  493. .cp
  494.  
  495. Mouse Stuff
  496. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  497.  
  498. If you have a Microsoft (or compatible) mouse the SUPER-MAINT
  499. editor will sense it (if it is properly installed).  In most cases
  500. you use the mouse as follows:
  501.  
  502.         Menus:
  503.  
  504.         ■ Left Button        Pick A Menu Choice
  505.         ■ Right Button        Help
  506.  
  507. A [ ] symbol appears at the top left of each menu window.  To exit
  508. a menu place the mouse cursor over it and press the left button.
  509.  
  510. Placing the Mouse Cursor over "Quit", or placing it over the [ ]
  511. symbol in the top window, and pressing the left button is like
  512. choosing "Quick Quit" (Alt) (q), avoiding the quit menu.
  513. .cp
  514.  
  515.  
  516. Time and Date
  517. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  518.  
  519. Because make utilities use your computer's clock to compare the
  520. time and date stamps of files to be compiled it is very important
  521. that the current time and date be set on your machine before using
  522. SUPER-MAINT.  
  523. .cp
  524.  
  525. Quick Start: The Demo Compilers
  526. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  527.  
  528. Included in your package is a set of demonstration compilers,
  529. which include a bogus C compiler, a bogus assembler, linker,
  530. librarian, and debugger.  These bogus utilities don't actually
  531. compile, link, etc.  They are simply for the purpose of
  532. demonstrating SUPER-MAINT.
  533.  
  534. To get started it is not necessary to use the bogus programs.  If
  535. you have Microsoft's C compiler and MASM you may go through this
  536. demonstration by replacing the bogus utility names with the real
  537. names of your compiler, etc.  For example, replace EBCL with CL,
  538. EBDB with CV, etc.  The three sample programs to use are:
  539. SAMPLE.C, SAMPLE1.C, and SAMPLEA.ASM, and compile in the small
  540. model.  Or use SAMPLE.C, SAMPLE1.C, and SAMPLE2.C, and compile in
  541. any model.
  542. .cp
  543. If you have another brand use the three .C files, since the
  544. assembly module was written specifically for MASM.  Of course,
  545. replace the bogus utility names with the real names of your
  546. compilers.
  547.  
  548. If you program in a language other than C or assembler you will
  549. have to write little sample files to use for this tutorial.  Use
  550. any simple program that can have functions in three separate
  551. source code files.
  552.  
  553.                   Automatic Make File Generation:
  554.  
  555.  
  556. >SME (Enter)           Start SUPER-MAINT Editor at the DOS command line
  557. >(alt) (s)             Go to setup menu
  558. >(alt) (r)             Go to setup facility
  559. >(alt) (f)             Go to "files to make" screen
  560. .cp
  561.  
  562. >Now press (y)         next to SUPER-MAINT make file, Link Response file,
  563.                        and Exe File.  Press Enter until you see the main
  564.                        setup menu again.
  565. >(alt)(x)              Return to SUPER-MAINT Editor
  566.  
  567. >()                   Gets you into the MAKE menu
  568. >(alt) (p)             Pick code files - displays the drives window.
  569. >C (Enter)             Chooses C: drive (or the drive that contains your
  570.                        sample source code files)
  571.  
  572. >The directory window will appear to the right of the drives
  573. window.  Now put the bar (in the directory window) over the
  574. directory SUPER-MAINT is in (probably C:\SUPER) and press (Enter). 
  575. (You may need to use Page Up and Page Down to find the directory
  576. you want).
  577. .cp
  578.  
  579. >Now the files window appears.  Use the arrow keys to place the
  580. menu bar over the files you want to mark for inclusion in your
  581. program, then use the (+) key to mark, or the (-) key to unmark
  582. files (you may need to use Page Up and Page Down to find the
  583. directory you want).
  584.  
  585.         For the demonstration there are three files you should
  586.         mark:
  587.                             SAMPLE.C
  588.                             SAMPLE1.C
  589.                             SAMPLEA.ASM
  590.  
  591. >Now press (Esc) 3 times until a new window pops up with your
  592. choices in it.  Use the arrow keys to place the menu bar over the
  593. file you want to name your program after.  Then press (Esc) to get
  594. back to the make menu.
  595.  
  596. .cp
  597.  
  598.         If you choose SAMPLE.C the finished program will be called
  599.         SAMPLE.EXE.
  600.  
  601.         >At this point check the bottom of the make menu to make
  602.         sure it says "Building EXE".  If it says "Building Lib"
  603.         you must change the setting by doing the following: 
  604.         alt-m, alt-l, <Esc>.
  605.  
  606.         >(Alt) (s)         Make the files.
  607.         >(Alt) (q)         Go back to DOS.
  608.  
  609.  
  610.                              Build a Program
  611.  
  612.         >sm -1 -d sample              Compiles the sample program using the
  613.                                       Small Memory Model (-1) and symbolic
  614.                                       debugging information (-d)
  615. .cp
  616.  
  617.         >sm -l                        View Programmer's SUPER-MAINT settings
  618.  
  619.         >ebdb sample                  Bogus Debugger shows the sample
  620.                                       executable (actually an ascii file,
  621.                                       since we are using bogus compilers,
  622.                                       linkers, etc. for this demonstration to
  623.                                       save disk space real compilers take up)
  624.                                       does have debugging info in it.  Alt-q
  625.                                       quits the debugger.
  626.  
  627.         >del sample.exe               Delete the executable file
  628.  
  629.         >sm                                   SUPER-MAINT remembers your last
  630.                                               settings and re-links the
  631.                                               executable (the object files are
  632.                                               current)
  633. .cp
  634.  
  635.  
  636.         >EDITOR SAMPLE.C              Use a text editor (replace "EDITOR" with
  637.                                       the name of a text editor you use) to
  638.                                       change a source file.  Make a minor
  639.                                       change.
  640.  
  641.         >sm                                   SUPER-MAINT remembers your last
  642.                                               settings and re-compiles the 
  643.                                               changed file and re-links the
  644.                                               executable
  645.  
  646.         >sm -e                        Erases all .OBJ files listed in the make
  647.                                       file prior to a "final release" total
  648.                                       rebuild (without the debugger
  649.                                       information)
  650. .cp
  651.  
  652.         >sm -n                        Rebuilds the whole program (all source
  653.                                       modules) with no debugging information. 
  654.                                       (Note:  you can combine this step and
  655.                                       the one above it by typing: sm -er -n)
  656.  
  657.         >ebdb sample                          Bogus debugger shows program now
  658.                                               has no debugging information in it. 
  659.                                               Alt-q quits the debugger.
  660.  
  661.         >sm -h                        Shows help screen with all the possible
  662.                                       command line flags
  663.  
  664. There are many other options available, but this little tutorial
  665. should give you a good idea of the basic use of SUPER-MAINT.
  666. *END*
  667.  
  668. %2%
  669. Chapter 2:  Help (SMH.EXE)≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  670.  
  671. The help system is context sensitive in Programmer's SUPER-MAINT. 
  672. If there is more than one screen's worth of information on a topic
  673. you may always scroll backward and forward to view the help for
  674. that subject.  All of the SUPER-MAINT programs use two sets of
  675. files:  SUPER.HLP (and SUPER.NDX) for on line help, and MANUAL.HLP
  676. (and MANUAL.NDX) for the on line manual.  These files must be in
  677. the SUPERFILES directory for help to work.
  678.  
  679. (F1) is the help key in the SUPER-MAINT Editor (SME.EXE) and Setup
  680. Facility (SMSET.EXE).  If you have a mouse you may press the right
  681. button ■ to get help.  Once in help use the down arrow (or ■ ) to
  682. go to the next screen, or the down arrow (or ■ ) to view the
  683. previous screen.  Scrolling beyond the first or last screen, or
  684. pressing (Esc) will exit help.
  685. .cp
  686.  
  687. The SUPER-MAINT Help Facility (SMH.EXE) may also be used as a
  688. stand-alone program.  To use it you type:
  689.  
  690. SMH TOPICNAME (Enter)
  691.  
  692. Replace "TOPICNAME" with the actual name of the topic you want
  693. help for.  For a list of topic names type:
  694.  
  695.                          TYPE SUPER.NDX(Enter)
  696.  
  697. If the topic consists of more than one word precede the topic name
  698. with a quotation mark:
  699.                          SMH "MAIN MENU (Enter)
  700.  
  701. You can also view (and print) the on line manual by typing:
  702.  
  703.                          SMH MANUAL (Enter)
  704. .cp
  705.  
  706. See "Printing the Manual" (page 5) for instructions on how to
  707. print it to a file or your printer.
  708.  
  709. In the SUPER-MAINT Editor, Setup and Help Facilities you may use
  710. a mouse for help.  To start help at most points in the Editor and
  711. Setup Utility:
  712.  
  713.         ■ Right Button        Start Help
  714.  
  715. Once in Help:
  716.  
  717.         ■ Left Button        Next screen
  718.         ■ Right Button        Previous Screen
  719. *END*
  720.  
  721. %3%
  722. Chapter 3:  Make Files and Macros≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  723.  
  724. All make utilities use make files to control how a program is
  725. built.  The SUPER-MAINT Editor automatically builds these files so
  726. you don't have to learn the syntax and logic of the make file. 
  727. For complicated projects you may want to add to a make file, or
  728. build one from scratch.  You may skip this chapter if you don't
  729. want to write your own make files.
  730.  
  731.  
  732. What is a Make File?
  733. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  734.  
  735. For each program you build using a make utility you must write a
  736. make file.  This file tells the maker what to compile, link, etc.
  737. and under what circumstances.  
  738.  
  739. .cp
  740.  
  741. What is a Macro?
  742. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  743.  
  744. A macro is a set of instructions that are assigned to one
  745. variable.  For example, let's say you define the following macro:
  746.  
  747.                    L1F1 = -c -Gsw -Ow -W4 -Zp
  748.  
  749. Now each time the make utility calls the macro "L1F1" all of the
  750. command flags following the equal sign (=) will be executed.
  751.  
  752.  
  753. .cp
  754.  
  755. Make File Format
  756. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  757.  
  758. Programmer's SUPER-MAINT's make files make extensive use of macros
  759. to control the building parameters of your program using simple
  760. mnemonic command line flags.  Therefore the make file is divided
  761. into two basic sections: macros and action blocks.
  762.  
  763. Action Blocks
  764. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  765.  
  766. The action block is the heart of a make file.  It is a set of
  767. instructions that tells SUPER-MAINT what to do and when to do it.
  768. All action blocks are made up of two lines, one on top of the
  769. other (not separated by comments).  The first line is the
  770. target/dependent line, and the second is the command line.
  771.  
  772. .cp
  773.  
  774.  
  775.  
  776.  
  777.  
  778. Target/Dependent Line
  779. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  780.  
  781. A target is a file that you want to build.  This might be an
  782. object file, an executable file or a library.  Dependents are the
  783. files that the target is made out of.  A typical target/dependent
  784. line looks like this:
  785.  
  786.                   MYFILE.OBJ:  MYFILE.C
  787. .cp
  788.  
  789. SUPER-MAINT interprets this to mean, "If the time and date stamp
  790. on MYFILE.C is later than that on MYFILE.OBJ the source code must
  791. have been changed since the last program rebuild.  Therefore do
  792. whatever the command line in this action block says.  If the dates
  793. are the same (or MYFILE.C has an earlier date) then nothing should
  794. be done."
  795.  
  796. Command Line
  797. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  798.  
  799. When you call your compiler from the DOS prompt you typically type
  800. the compiler name, various command line flags to tell it how to
  801. compile your program, and the name of the source code file to be
  802. compiled.  SUPER-MAINT does the same thing.  A standard command
  803. line might look like this:
  804.  
  805.                      CL -c -Al myfile.c
  806. .cp
  807.  
  808. SUPER-MAINT is saying, "If the dependent has been changed since
  809. the target was built in the target/dependent line, then build the
  810. target using the -c and -Al flags."
  811.  
  812. You also can use macros on the command line.  In fact, SUPER-MAINT
  813. requires the use of macros.
  814.  
  815.                       CL $(L1) myfile.c
  816.  
  817. calls the L1 set of macros and adds all the flags defined in that
  818. set in between 'CL' and 'myfiles.c'.  See the section on macros,
  819. below.
  820. .cp
  821.  
  822. The Whole Action Block
  823. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  824.  
  825. Putting this together, the whole action block looks like this:
  826.  
  827.                 MYFILE.OBJ:  MYFILE.C
  828.                            CL $(L1) myfile.c
  829.  
  830. If you specify a drive and directory for the dependent, SUPER-
  831. MAINT will always be able to find it, no matter what the current
  832. directory is.  For example:
  833.  
  834.                 MYFILE.OBJ:  C:\MYCODE\MYFILE.C
  835.                            CL $(L1) c:\mycode\myfile.c
  836.  
  837.  
  838. .cp
  839.  
  840. Dependent Special Cases
  841. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  842.  
  843. You may have more than one dependent for a target.  Let's say you
  844. want to copy three files to make one large file.  The
  845. target/dependent line might look like this:
  846.  
  847.                 mytext.c: myfile.c yourfile.c ourfile.c
  848.                         copy myfile.c+yourfile.c+ourfile.c
  849. mytext.c
  850.  
  851. If you want a command line to be executed no matter what, you use
  852. the word 'placebo' for the dependent.  So to copy the three files
  853. every time you call SUPER-MAINT:
  854.  
  855.                 mytext.c: placebo
  856.                         copy myfile.c+yourfile.c+ourfile.c
  857. mytext.c
  858. .cp
  859.  
  860.  
  861. Defining Macros
  862. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  863.  
  864. The first section of a make file contains the macro definitions. 
  865. These must always come before the action blocks so SUPER-MAINT
  866. will be able to correctly interpret what is to be done.
  867.  
  868.  
  869. Macros SUPER-MAINT NEEDS  (Macro Sets)
  870. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  871.  
  872. SUPER-MAINT macros always come in sets of eight.  Even if you are
  873. not using all eight macros you should define them here.  You must
  874. define one set of macros for each compiler you are using, plus one
  875. set for the linker or librarian, plus one TNAMES macro.
  876. .cp
  877.  
  878. A set of macros consists of the eight macros shown in table 1:
  879.  
  880. MACRO  HOW CALLED         MEANING:              EXAMPLE:
  881.  
  882. LxCO   Always called      COMPILE ONLY FLAG     -c
  883.  
  884. LxM1 ┐                   MEMORY MODEL 1 FLAG   -As
  885. LxM2 ├ Only 1 is called   MEMORY MODEL 2 FLAG   -Am
  886. LxM3 ┘                   MEMORY MODEL 3 FLAG   -Al
  887.  
  888. LxND ┐                   NO DEBUG INFO
  889.      ├ Only 1 is called
  890. LxD  ┘                    USE DEBUG INFO        -Zi -Od
  891.  
  892. LxF1   Always Called      Any flags 1st macro
  893. LxF2   Always Called      Any flags 2nd macro
  894. Table 1:---------------------------------------------------------
  895. .cp
  896.  
  897. For each object file or executable file SUPER-MAINT builds it
  898. looks for the eight macros for the language or linker (or
  899. librarian) used to build it.  The macros are always called in the
  900. order shown in table 1.
  901.  
  902. Let's say that the L1 series of macros is defined for the C
  903. language.  SUPER-MAINT will call L1CO first for the "compile
  904. without linking" flag.  Next it will call L1M1, L1M2, or L1M3,
  905. depending on which memory model you specified when you called the
  906. maker (using the command flags -1, -2, or -3).  If you told the
  907. maker to compile using debugging information L1D will be called:
  908. otherwise L1ND will be called.  Finally the two general macros
  909. L1F1 and L1F2 are called.  
  910.  
  911. The macros are always called together and in this order.  The only
  912. exception is that LxF2 is called after the dependent name when
  913. using Borland products.
  914. .cp
  915.  
  916. So, let's say you have defined the following macros for the C
  917. language you use:
  918.  
  919.         L1CO = -c
  920.         L1M1 = -As
  921.         L1M2 = -Am
  922.         L1M3 = -Al
  923.         L1ND =
  924.         L1D =  -Zi -Od
  925.         L1F1 = -W4
  926.         L1F2 = -Os -Zr
  927.  
  928. When you call SM.EXE with a command line as follows:
  929.  
  930.                                          cc $(L1) myfile.c
  931. .cp
  932.  
  933. When set for Borland compilers SUPER-MAINT actually does this (for
  934. the example we are assuming the -1 and -d flags have been used to
  935. call SUPER-MAINT):
  936.  
  937.             cc -c -As -Zi -Od -W4  myfile.c -Os -Zr
  938.  
  939. For all other brands SUPER-MAINT does this:
  940.                                                  
  941.             cc -c -As -Zi -Od -W4 -Os -Zr myfile.c
  942.  
  943.  
  944. .cp
  945.  
  946. The TNAMES macro is used by SUPER-MAINT to list all the dependents
  947. for  the finished program (an executable, or a library).  The
  948. format for defining the TNAMES macro is:
  949.  
  950. TNAMES = 
  951.         FILE1.OBJ&
  952.         FILE2.OBJ&
  953.         FILE3.OBJ&
  954.         FILE4.OBJ
  955.  
  956. Notice that there is a '&' after each file name except the last
  957. one.
  958. .cp
  959.  
  960. Optional Macros You May Define
  961. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  962.  
  963. You may define special macros and insert them into action blocks
  964. as long as you use macro names other than the predefined ones (See
  965. the box for macro set names.  Don't use TNAMES either).  Example:
  966.  
  967. CPY = myfile.c+yourfile.c+ourfile.c
  968.  
  969. mytext.c: myfile.c yourfile.c ourfile.c
  970.         copy $(CPY) mytext.c
  971.  
  972. The above example uses the DOS copy command to copy three files. 
  973. This is the same as calling COPY from DOS as follows:
  974.  
  975.               copy myfile.c+yourfile.c+ourfile.c mytext.c
  976. *END*
  977.  
  978. %4%
  979. Chapter 4:  Building Files with the Editor (SME.EXE)≡≡≡≡≡≡≡ >
  980.  
  981. The SUPER-MAINT Editor automatically builds make files, and
  982. response files for your linker and librarian.  In addition it can
  983. build "indirect files" for PC-lint, "list" files for Clear+, and
  984. make files for Microsoft MAKE and NMAKE (as well as batch files
  985. for calling the Microsoft makers to compile with debugging
  986. information).
  987.  
  988. To start the program type:
  989.  
  990.                             SME (Enter)
  991. .cp
  992.  
  993. General Program Commands
  994. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  995.  
  996. The main menu bar at the top of the screen has five choices: 
  997. HELP, MAKE, SETUP, TOOLBOX, and QUIT.  As with all menus there are
  998. three ways to access the choices:
  999.  
  1000.         1.  Use the arrow keys to place the menu bar over your
  1001.         choice.  Then press (Enter) .
  1002.  
  1003.         2.  Press the first letter of the menu choice while also
  1004.         pressing the (Alt) key.  Example:  (Alt) (m) gets you to the
  1005.         MAKE menu.
  1006.  
  1007.         3.  If you have a mouse place the mouse cursor over your
  1008.         choice and press the left button.
  1009. .cp
  1010.  
  1011. In addition, the following commands will work at most menus:
  1012.  
  1013. (Alt) (b)              Shows the compiler brand at the bottom of the
  1014.                        screen
  1015.  
  1016. (Alt) (r)              Review Current Settings.  This is a quick rundown
  1017.                        of the active settings for SUPER-MAINT.  You may
  1018.                        also look at screens that show the libraries you
  1019.                        have defined for three memory models.
  1020.  
  1021. (Alt) (q)              Quit the program
  1022.  
  1023. (Alt) (v)              Version of SUPER-MAINT
  1024.  
  1025. (Alt) (x)              Quit the program
  1026.  
  1027. (Ctrl) (c)             Quit the program
  1028. .cp
  1029.  
  1030. (F1)           Help
  1031.  
  1032. Building Make Files
  1033. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  1034.  
  1035. Before building make and other files you should make sure SUPER-
  1036. MAINT is configured correctly.  Using the setup program
  1037. (SMSET.EXE), which is accessible rom the SETUP menu, you tell
  1038. SUPER-MAINT which type of files you want to build, you maintain a
  1039. list of libraries, and set other information needed by the SUPER-
  1040. MAINT programs.  See Chapter 5 for setup procedures.
  1041. .cp
  1042.  
  1043. You use the MAKE menu to build files.  This is a simple three-part
  1044. procedure:
  1045.  
  1046.         1.     Pick Code Files.  Use your mouse or the cursor keys to
  1047.                mark the source code files that make up your program.
  1048.  
  1049.         2.             Macros.  Check the macro setup to make sure it is
  1050.                        set correctly for the program you are writing.
  1051.         3.             Supermaint=====> Build the files.
  1052.  
  1053. When you are done you may reset the SUPER-MAINT Editor using New
  1054. File (reset) and build another file.  Except when you are using an
  1055. unusual setup this is all you should need to do in the SUPER-MAINT
  1056. Editor.  Many other functions are available to give you the most
  1057. possible flexibility in building your make files and other
  1058. supporting files.
  1059.  
  1060. .cp
  1061.  
  1062. The MAKE menu
  1063. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  1064.  
  1065. As we just discussed, the MAKE menu is used for actually building
  1066. files.
  1067.  
  1068. .cp
  1069.  
  1070. Pick Code Files
  1071. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  1072.  
  1073. This function is used to pick the source code files you want to
  1074. include in your program.  You may mix and match files from any
  1075. drive and any directory.  These files are memorized by SUPER-MAINT
  1076. until you either reset or exit the SUPER-MAINT Editor.  You may
  1077. even leave the MAKE menu, shell to DOS, etc. and these files will
  1078. remain in memory for use in your make file, response files, etc. 
  1079. The function uses three windows:  The Drive window, the Directory
  1080. window, and the Files window.  You may back out of these at any
  1081. time by pressing (Esc) .  If you have a mouse put the mouse cursor
  1082. over the little box ([ ]) in the upper left of each window and
  1083. press the Left Button.
  1084.  
  1085. .cp
  1086.  
  1087.  
  1088. Mark The Files:
  1089.  
  1090. First SUPER-MAINT automatically senses what drives you have on
  1091. your system.  Choose the drive that holds your source code files.
  1092.  
  1093.         > When choosing a drive put the mouse cursor on our choice
  1094.         and press:
  1095.  
  1096.         ■ Left Button        Chooses Drive or Directory
  1097.         ■ Right Button       Help
  1098.  
  1099. Now the Directory window pops up.  If there are more than 20
  1100. directories on your disk you may use (PgUp) and (PgDn) to view
  1101. more directories.
  1102.  
  1103. .cp
  1104.  
  1105.         > When choosing a directory put the mouse cursor on our
  1106.         choice and press:
  1107.  
  1108.         ■ Left Button        Chooses Drive or Directory
  1109.         ■ Right Button       Help
  1110.  
  1111.         > To see another page of directories or files put the mouse
  1112.         cursor over the word "Page" in the appropriate window. 
  1113.  
  1114.         ■ Left button        Next Page 
  1115.         ■ Right button       Previous Page
  1116. .cp
  1117.  
  1118. Finally the Files window appears.  Place the menu bar over the
  1119. files you want to include, and use the (+) and (-) keys to mark or
  1120. unmark the files.  As with the Directory window, there may be more
  1121. than one page of files to choose from.  If so, use (PgUp) and
  1122. (PgDn) to view them.
  1123.  
  1124.         When Marking files:
  1125.  
  1126.         ■ Left Button        Marks or unmarks a file
  1127.         ■ Right Button       Help
  1128.  
  1129.         > To see another page of directories or files put the mouse
  1130.         cursor over the word "Page" in the appropriate window. 
  1131.  
  1132.         ■ Left button        Next Page 
  1133.         ■ Right button       Previous Page
  1134. .cp
  1135.  
  1136. Set Macros:
  1137.  
  1138. Check the macros for each languange and the linker (or librarian)
  1139. to make sure all the command flags are set the way you want them
  1140. for the current project.
  1141.  
  1142. Choose the File Name:
  1143.  
  1144. Most of the time you give your program the same name as one of the
  1145. source code files.  For example, if you have three source code
  1146. files:
  1147.  
  1148.                       SAMPLE.C
  1149.                       SAMPLE1.C
  1150.                       SAMPLE2.C
  1151.  
  1152. you will probably name your program SAMPLE.EXE.
  1153. .cp
  1154.  
  1155. By the same token you will probably want to name your make file,
  1156. response files and so on "SAMPLE" as well.  You can use SMSET.EXE
  1157. to tell SUPER-MAINT not to do this for any of the files it builds. 
  1158. If you have not done this SUPER-MAINT needs to know which source
  1159. code file you want to name everything after.
  1160.  
  1161. When you back out of the Drive window another window pops up
  1162. showing all the files you picked (if you picked any).  Place the
  1163. menu bar over the file whose name you want to use and press (Esc). 
  1164. Again, if there are more than twenty choices you will need to use
  1165. (PgUp) and (PgDn) to view them.
  1166.  
  1167. .cp
  1168.  
  1169. New File (reset)
  1170. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  1171.  
  1172. When you want to start building a new make (or other) file you
  1173. need to clear SUPER-MAINT's memory of the files used in your last
  1174. program.  After you choose this option you are asked to press a
  1175. key to confirm that the files list buffer has been cleared out.
  1176.  
  1177. This is not necessary if you have just started the SUPER-MAINT 
  1178. Editor from DOS.
  1179. .cp
  1180.  
  1181. Edit Old File
  1182. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  1183.  
  1184. This choice reads an old SUPER-MAINT make file and builds a list
  1185. of the source code files you had in it.  Now you may add to or
  1186. delete from the list.  When you are done you build a new make
  1187. file.  Please note that this option doesn't actually edit a make
  1188. file, but it allows you to import a list of source code files from
  1189. an old make file.  If you have commented a make file or added
  1190. custom macros or commands, they will be lost if you use the same
  1191. name for the new make file.  It is suggested that you enable the
  1192. backup file option in SMSET if you use this feature often.
  1193.  
  1194. .cp
  1195.  
  1196. Macros
  1197. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  1198.  
  1199. The Macros function is one of the most important parts of the
  1200. SUPER-MAINT Editor.  You must set up this section correctly if you
  1201. want your make files to function properly.
  1202.  
  1203. You may remember from chapter 3 that SUPER-MAINT uses macro sets
  1204. to control how your program is built.  Each set has eight macros
  1205. in it.  This is where you define those macros.
  1206.  
  1207. Viewing Macros and LASTMACS.SM
  1208. .cp
  1209.  
  1210. When you enter the Macros section, the SUPER-MAINT Editor reads a
  1211. file called LASTMACS.SM.  This is a list of all the macros you set
  1212. up the last time you used this feature.  LASTMACS.SM has all the
  1213. macros for three languages, a linker and a librarian.  Each set of
  1214. macros is shown in a window on the left of your screen.  You view
  1215. the different languages by pressing (PgUp) and (PgDn) .  If you
  1216. don't use all these all these a macro window may be blank.
  1217.  
  1218. Executable Files or Library 
  1219.  
  1220. At any given time SUPER-MAINT is set to build executable files or
  1221. libraries.  It must be set to one or the other.  This not only
  1222. affects the SUPER-MAINT editor, but also the maker.
  1223.  
  1224. At the bottom of the Make Menu screen is a note that says
  1225. "Building EXE" or "Building LIB".  This way you always know how
  1226. SUPER-MAINT is set.  When viewing the macros windows this
  1227. information appears at the top of the screen.
  1228. .cp
  1229.  
  1230. When SUPER-MAINT is set to build EXE files you may view the three
  1231. language macro windows and the linker macro window.  When it is
  1232. set for libraries you may view the three language macro windows
  1233. and the librarian macro window.
  1234.  
  1235. To toggle between building executable files and libraries (linker
  1236. and librarian) press (Alt) (l) .
  1237.  
  1238. Editing a Macro Set
  1239.  
  1240. You may completely change a macro set at any time by pressing
  1241. (Alt) (e) to edit.  You may add command flags, or delete them as
  1242. you like.  Here is an explanation of the eight macros, and the
  1243. additional information recorded here:
  1244. .cp
  1245.  
  1246. Line: Category:      Ex:              Meaning:
  1247.  
  1248. 1.    compiler name  CL               How compiler is called from command line
  1249. 2.    compile only   -c               Compile without calling the linker
  1250. 3.    mem model 1    -AS              Flag to invoke Memory Model 1
  1251. 4.    mem model 2    -AM              Flag to invoke Memory Model 2
  1252. 5.    mem model 3    -AL              Flag to invoke Memory Model 3
  1253. 6.    nodebug        -W4              Flags to compile without debugging
  1254.                                       information
  1255. 7.    debug          -Zi -Od          Flags to compile with      
  1256.                                       debugging info
  1257. 8.    flags1         -Od              Any flags for optimizing or other
  1258.                                       purposes
  1259. 9.    flags2         -Od              Any flags for optimizing or other
  1260.                                       purposes
  1261. 10.   target ext     OBJ              The file your compiler or linker makes
  1262. 11.   dependent ext  C                The file it is made from
  1263. .cp
  1264.  
  1265. Notes:
  1266.  
  1267.         The eight macros (2 through 9) should contain compiler,
  1268.         linker, or librarian flags.  See your compiler manual
  1269.         for an explanation of these flags, and the order they
  1270.         must appear in.
  1271.  
  1272.         It is very important to set the "compile only" flag when
  1273.         using any make program.  You do not want the compiler to
  1274.         call the linker (or librarian).  The maker must do this
  1275.         as a separate operation.
  1276.  
  1277.         When entering the target or dependent extension do NOT
  1278.         include the dot.  Remember the compiler (or linker,
  1279.         etc.) makes the target out of the dependent.  Therefore,
  1280.         a C compiler makes SAMPLE.OBJ out of SAMPLE.C; a linker
  1281.         makes SAMPLE.EXE out of SAMPLE.OBJ.
  1282. .cp
  1283.  
  1284. Language Definition Files
  1285.  
  1286. The macros windows are affected by a set of five files called
  1287. Language Definition Files.  All five of these files must exist in
  1288. your SUPER-MAINT directory for the SUPER-MAINT Editor to work
  1289. properly (although it is OK to use blank files if you make them
  1290. with the Language Definition File Editor in the Toolbox Menu.
  1291.  
  1292. Language Definition Files have two functions:
  1293.  
  1294.         1.  They have default macro information that is used
  1295.         when you use the reset key.
  1296.  
  1297.         2.  They contain help information.
  1298. .cp
  1299.  
  1300. Language Definition Files contain the default information about a
  1301. language compiler, assembler, linker, or librarian.  LASTMACS
  1302. contains the current settings for their macros.
  1303.  
  1304. Resetting a Macro Set
  1305.  
  1306. Each program you write probably uses different flags from your
  1307. other programs.  But most programmers have a set of compilation
  1308. flags they use all the time.  It's easy to get back to a basic set
  1309. of macros that you can either use as-is or add to.  Just press
  1310. (Alt) (r) and the default macros (defined in Language Definition
  1311. Files) will automatically appear in the macro window you are
  1312. viewing.  Using this feature only resets the macro set you are
  1313. viewing.  It doesn't affect any of the other sets.  To change the
  1314. default settings for a language, linker or librarian use the
  1315. Language Definitions Files Editor in the Toolbox menu.
  1316. .cp
  1317.  
  1318. Macro Help Screens
  1319.  
  1320. In addition to the regular help you may get a window showing
  1321. examples of the compiler, linker, or librarian flags and their
  1322. definitions.  This help is contained in the Language Definitions
  1323. Files.  If you want it, it will appear in a window on the right of
  1324. your screen.  As you page between the various language and linker
  1325. (or librarian) macros windows the help windows will also change. 
  1326. To activate this feature press (Alt) (F1) .
  1327.  
  1328.  
  1329. .cp
  1330.  
  1331. Adding a New Language
  1332.  
  1333. When you add a new language to SUPER-MAINT, remember that the
  1334. Language Definition file is the "permanent" definition, and the
  1335. Macros window is where the "temporary" version goes (in other
  1336. words, the version of the language definition with specific
  1337. command flags for the current program you are writing).
  1338.  
  1339. Thus, adding a language is a two step process:
  1340.  
  1341. Step 1:        First write the language definition file using the
  1342.                Language Definition File Editor in the Toolbox menu.  
  1343.  
  1344. Step 2:        Now enter the macros window for the language number you
  1345.                chose when you wrote the Lang Def file.  Press (Alt) (r)
  1346.                to get the generic flags you already defined.  Now press
  1347.                (Alt) (e) to edit the temporary version of the macros
  1348.                for your current project.
  1349. .cp
  1350.  
  1351. Macros Windows Command Summary:
  1352.  
  1353. Keyboard:
  1354.  
  1355. (PgDn)                Next Macro Set
  1356. (PgUp)                Last Macro Set
  1357. (Home)                First Macro Set
  1358. (End)                Last Macro Set
  1359. (F1)                        Help
  1360. (Alt) (q)                Quick Quit to DOS
  1361. (Alt) (v)                Show Version and Serial Number
  1362. (Alt) (r)                Reset to settings in Language Definitions
  1363. File
  1364. (Alt) (e)                Edit this Macro Set
  1365. (Alt) (l)                Toggle Linker (EXE) / Librarian (LIB)
  1366. (Alt) (F1)        Compiler Flags Help
  1367. .cp
  1368.  
  1369. Mouse:
  1370.  
  1371.         With the mouse cursor in the upper menu window:
  1372.  
  1373.         ■ Left Button        (Over the [ ]) Quit Macros
  1374.         ■ Right Button        Help
  1375.  
  1376.         With the mouse cursor below the upper menu window:
  1377.  
  1378.         ■ Left Button        Next Macro Set
  1379.         ■ Right Button        Previous Macro Set
  1380. .cp
  1381.  
  1382. Source Code Files
  1383.  
  1384. Just a quick note about how the SUPER-MAINT Editor reads source
  1385. code files:  You may set up the Editor (in SMSET) to only show
  1386. source code files (as opposed to all files in a directory) when
  1387. you are "Picking" files.  You can set the file extensions to look
  1388. for in SMSET, but these are ALWAYS changed when you exit the
  1389. Macros section of the Make menu.  This insures that source code
  1390. for a current project is always shown.  Therefore you should
  1391. consider the listing or source file extensions in SMSET
  1392. informational in most cases.
  1393.  
  1394. .cp
  1395.  
  1396. Text Editor
  1397. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  1398.  
  1399. SMSET allows you to attach your favorite text editor to SUPER-
  1400. MAINT.  If you have a make file in progress it's name appears in
  1401. a box when you call the text editor.  You may type the name of any
  1402. file in the current directory, and it will be passed to your
  1403. editor.
  1404.  
  1405. .cp
  1406.  
  1407. File Names
  1408. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  1409.  
  1410. This feature is only enabled if you have told SUPER-MAINT (in
  1411. SMSET) that you want to give unique names to one or more files. 
  1412. A window pops up with the type(s) of file you want to name.  Type
  1413. any name in the space provided.You don't have to use this menu
  1414. choice:  the box pops up automatically before you build the files. 
  1415. This choice simply allows you to view your choices and make
  1416. changes if you want to.
  1417. .cp
  1418.  
  1419. SUPER-MAINT===========>
  1420. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  1421.  
  1422. Choose this to build the files.  SUPER-MAINT uses the list of
  1423. files you have picked to build the files you have specified in
  1424. SMSET.  These files may include a make file, a set of linker
  1425. response files (1 for each memory model), a library response file,
  1426. a PC-lint 'indirect' file, a Clear+ 'list' file, and/or a
  1427. Microsoft MAKE or NMAKE make file with a batch file for telling
  1428. the Microsoft maker to include debugging information in the build.
  1429. .cp
  1430.  
  1431. The SETUP menu
  1432. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  1433.  
  1434. You can call the Setup Utility (SMSET.EXE) directly from the
  1435. SUPER-MAINT Editor.  All setup functions are controlled by SMSET. 
  1436. See chapter 5 for specific instructions on setting up SUPER-MAINT. 
  1437. There are two modes:
  1438.  
  1439. Advanced
  1440. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  1441.  
  1442. SMSET works similarly to SME, with a main bar menu at the top. 
  1443. You can be selective in what you want to set up.
  1444.  
  1445.  
  1446.  
  1447.  
  1448. .cp
  1449.  
  1450. Novice
  1451. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  1452.  
  1453. Novice (beginner) mode steps you through each setup category, one
  1454. at a time.  Before each setup screen is an explanation of what it
  1455. is for.  You can always skip a setup screen by pressing (Esc)
  1456. after reading its description screen.
  1457. .cp
  1458.  
  1459. The TOOLBOX menu
  1460. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  1461.  
  1462. The Toolbox menu makes it easier to use the SUPER-MAINT Editor. 
  1463. It contains functions that help you customize the help files and
  1464. language definition files, give you information about SUPER-MAINT,
  1465. and let you shell to DOS.
  1466.  
  1467. Information
  1468. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  1469.  
  1470. Some information about the program, the programmer and EmmaSoft is
  1471. displayed.
  1472.  
  1473. Version
  1474. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  1475.  
  1476. The Version and serial number is displayed.  This is identical to
  1477. pressing (Alt) (v) .
  1478. .cp
  1479.  
  1480. Lang Def Files
  1481. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  1482.  
  1483. Language Definition Files hold the default information for each
  1484. language you use, your linker, and your librarian, as well as some
  1485. help information.  Although these are ASCII files they are
  1486. formatted a specific way, and SUPER-MAINT is finicky about how it
  1487. reads them.  Therefore it is strongly recommended that you use the
  1488. Language Definitions Files Editor whenever you do this, especially
  1489. when you are creating a blank file.
  1490.  
  1491. First you choose a language definition to edit.  You may choose
  1492. between three languages, a linker and a librarian file.  Place the
  1493. menu bar over your choice and press (Enter) .
  1494.  
  1495. Now choose either the Commands form or the Language Helps form.
  1496. .cp
  1497.  
  1498. Commands Form
  1499.  
  1500. For each language you set up you must include the following
  1501. information:
  1502.  
  1503. Command:            Example:          Meaning:
  1504.  
  1505. Compile Command     TC                What you type to call your compiler from
  1506.                                       the command line
  1507. Target Extension    OBJ               The extension of the file your compiler,
  1508.                                       linker, or librarian makes
  1509. Dependent Extension C                 The extension of the file it makes it
  1510.                                       from
  1511. .cp
  1512.  
  1513. Additionally you may pre-define the following compiler/ linker/
  1514. librarian flags:
  1515.  
  1516. Compile w/o Linking /c                Flag that suppresses the linker when
  1517.                                       compiling (obviously you leave this
  1518.                                       blank when defining linker and librarian
  1519.                                       commands)
  1520. Mem Model 1 Command /AS               Flag that tells the compiler to use
  1521.                                       memory model 1 (you define the memory
  1522.                                       models here and in SMSET when you list
  1523.                                       your libraries.  SUPER-MAINT ships with
  1524.                                       these set for the Small model (1),
  1525.                                       Medium (2), and Large (3).
  1526. Mem Model 2 Command /AM
  1527. Mem Model 3 Command /AL
  1528. Debug Setup Command /Zi /Od           Flags needed to embed
  1529.                                       symbolic debugging
  1530.                                       information in your program.
  1531. .cp
  1532.  
  1533.  
  1534.  
  1535.  
  1536. Language Helps Form
  1537.  
  1538. This form lets you enter any help material you want to appear when
  1539. you press (Alt) (F1) in the Macros section of the Make menu. 
  1540. Typically you will want to summarize the various flags your
  1541. compiler uses, and their meanings.  You may enter up to 20 lines
  1542. of help.
  1543.  
  1544. Saving The New Definition
  1545.  
  1546. Use the (Esc) key to back out of defining a language.  When you
  1547. see the prompt, "Save This File?" press (y) to save, or (n) to
  1548. restore your old Language Definition file.
  1549. .cp
  1550.  
  1551. Standard Language Definition Files
  1552.  
  1553. SUPER-MAINT ships with preset language definition files for some
  1554. popular compilers.  If you have these you may use them as-is, or
  1555. edit them.  These are automatically installed by INSTALL.EXE when
  1556. you choose the brand of compiler you are using.
  1557.  
  1558. There may be more of the files available in the tech support
  1559. section on the EmmaSoft BBS (only available to registered users). 
  1560. If you write a set of Language Definition files please upload them
  1561. to the BBS if you want to share them with other users.
  1562.  
  1563.  
  1564.  
  1565. .cp
  1566.  
  1567. Manual
  1568. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  1569.  
  1570. SUPER-MAINT lets you read and/or print the manual from inside the
  1571. SUPER-MAINT Editor (SME) or the Help Facility (SMH manual).
  1572.  
  1573. When viewing this manual on line (in the SUPER-MAINT Editor, or in
  1574. the SUPER-MAINT Help Facility) you can read each chapter by
  1575. pressing (Alt) (x) where 'x' is the first letter of the title of
  1576. the chapter.  Alternatively you may click the left button of your
  1577. mouse over the chapter title, or use the cursor keys to place the
  1578. menu bar over the chapter you wish to view and press (Enter) .
  1579.  
  1580. This manual comes formatted for SUPER-MAINT's help system.  To
  1581. print out your manual get the on-line table of contents on the
  1582. screen.  In the SUPER-MAINT Editor you go to the toolbox menu and
  1583. choose 'Manual.'  Or you can access it by using the Help Facility. 
  1584. To do this type 'SMH MANUAL' at your DOS prompt.
  1585. .cp
  1586.  
  1587. Now press (Shift) (F7) .  If your printer is hooked up to a port
  1588. other than lpt1 you may type in the name of that port (lpt2, com1,
  1589. com2).  To print the manual to a file that may be imported into
  1590. your word processor for later printing replace 'lpt1' with a file
  1591. name.
  1592.  
  1593. The printed manual includes some information that is not shown in
  1594. the on-line version, including in-depth examples of the various
  1595. files.  We highly recommend that you print a copy (a printed
  1596. manual comes with registered copies of the program).
  1597.  
  1598. .cp
  1599.  
  1600. Edit Help
  1601. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  1602.  
  1603. SUPER-MAINT ships with complete context sensitive help.  You may
  1604. customize it, or add topics that can be called from the command
  1605. line using this function of the Toolbox menu.
  1606.  
  1607. If you want to write your own help files for SUPER-MAINT or to use
  1608. SMH.EXE as a general help utility you must do it using this
  1609. feature.  The reason is that SMH.EXE uses two files to read help
  1610. text.  The first is called SUPER.HLP.  This contains the actual
  1611. text, plus some symbols that tell SUPER-MAINT where one screen
  1612. begins and ends.  The second file is called SUPER.NDX.  This tells
  1613. SUPER-MAINT how long each help section is and where to find it in
  1614. SUPER.HLP.  SUPER.NDX must be generated by the program, and this
  1615. only happens if you build the help file in this section of the
  1616. toolbox.
  1617. .cp
  1618.  
  1619. When you choose this option SUPER-MAINT calls your text editor to
  1620. load SUPER.HLP.  It is very important that you follow the
  1621. following format when writing help files to keep SMH.EXE from
  1622. locking up:
  1623.  
  1624. Each help topic has a topic code, an end code, and text.  Help
  1625. topics that are longer than 19 lines also have a screen separator.
  1626.  
  1627.  
  1628. The topic code, end code, and screen separators must start at the
  1629. first character on a line (ie. it must have no spaces or other
  1630. text in front of it), and must have one line to itself.
  1631.  
  1632. A screen of text is no more than 19 lines, and each line may have
  1633. a maximum of 76 characters.  Within this limit you may format your
  1634. text any way you want with spaces, blank lines, etc.
  1635. .cp
  1636.  
  1637. A topic code is one or more words starting and ending with a
  1638. percent sign.
  1639.  
  1640. A screen separator is the letters 'cp' preceded with a dot.
  1641.  
  1642. An end code is the word END in capital letters starting and ending
  1643. with an asterisk.
  1644.  
  1645. Since both the printed and on-line manual come from the same text
  1646. we are not showing examples here, since the on-line version (which
  1647. is displayed by the Help Facility) would confuse SUPER-MAINT if it
  1648. found these codes in the middle of the text.  If you decide to
  1649. change SUPER.HLP you should print out a copy of the existing file
  1650. to use as an example.
  1651. .cp
  1652.  
  1653. Go To DOS
  1654. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  1655.  
  1656. You shell to DOS to run another utility.  SUPER-MAINT keeps all
  1657. its session settings intact, including any files you may have
  1658. picked for inclusion in a make file.  The SUPER-MAINT Editor swap
  1659. itself to EMS memory if it is available.  If not, it will swap
  1660. itself to a temporary disk file in the current directory, or to a
  1661. directory of your choosing if the TMP DOS variable has been set.
  1662. *END*
  1663.  
  1664. %5%
  1665. Chapter 5:  Setup (SMSET.EXE)≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  1666.  
  1667. The SUPER-MAINT Setup Facility (SMSET) is used to set up
  1668. information needed by all the SUPER-MAINT programs.  It determines
  1669. colors for itself, the Editor and the Help facility, it tells the
  1670. maker where to put object and executable files, it tells the maker
  1671. and the Editor how to behave for the brand of language compiler
  1672. you use, it tells the editor which files you want it to build, and
  1673. much more.
  1674.  
  1675. SMSET can be called from the DOS command line, or from the Editor
  1676. (SME), or you may use the -q or -qb (quick setup, quick setup,
  1677. beginner's mode) flags with the maker (SM) to call it.
  1678. .cp
  1679.  
  1680. SMSET has two modes: 
  1681.  
  1682.         Beginner's (novice) mode steps you through an entire
  1683.         setup with explanation screens before each category of
  1684.         setup.  When you first run INSTALL it calls SMSET in
  1685.         beginner's mode.  You can always skip a category by
  1686.         pressing (Esc) from an explanation screen.
  1687.  
  1688.         Advanced mode gives you a menu much like the main menu
  1689.         of the SUPER-MAINT Editor.  You choose specific
  1690.         categories you want to set up.
  1691.  
  1692. All the setup options that are available in Advanced mode are
  1693. accessible except for the Global/Local setup option.  You won't
  1694. want to use local setups until you are comfortable with how SUPER-
  1695. MAINT works.
  1696.  
  1697. .cp
  1698.  
  1699. A Note for Escape Artists
  1700. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  1701.  
  1702. In the setup screens you fill in your preferences one at a time. 
  1703. You can use the arrow keys to move to an option you want to
  1704. change.  If you want the last change to be recorded you must press
  1705. (Enter) to move to the next line before pressing (Esc).
  1706.  
  1707. General Program Commands (Advanced Mode)
  1708. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  1709.  
  1710. The main menu bar at the top of the screen has six choices: Color,
  1711. Which, SM_Files, File_Names, Defaults, Libraries, and Glob/Loc . 
  1712. As with all menus there are three ways to access the choices:
  1713.  
  1714.         1.  Use the arrow keys to place the menu bar over your
  1715.         choice.  Then press (Enter) .
  1716. .cp
  1717.  
  1718.         2.  Press the first letter of the menu choice while also
  1719.         pressing the (Alt) key.  Example:  (Alt) (m) gets you to the
  1720.         MAKE menu.
  1721.  
  1722.         3.  If you have a mouse place the mouse cursor over your
  1723.         choice and press the left button ■ .
  1724.  
  1725. In addition, the following commands will work at most menus:
  1726.  
  1727. (Alt) (b)              Shows the compiler brand at the bottom of the
  1728.                        screen
  1729.  
  1730. (Alt) (r)              Review Current Settings.  This is a quick rundown
  1731.                        of the active settings for SUPER-MAINT.  You may
  1732.                        also look at screens that show the libraries you
  1733.                        have defined for three memory models.
  1734. .cp
  1735.  
  1736. (Alt) (q)              Quit the program
  1737.  
  1738. (Alt) (v)              Version of SUPER-MAINT
  1739.  
  1740. (Alt) (x)              Quit the program
  1741.  
  1742. (Ctrl) (c)             Quit the program
  1743.  
  1744. (F1)                   Help
  1745.  
  1746. .cp
  1747.  
  1748. Colors
  1749. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  1750.  
  1751. INSTALL sets up default colors for the Editor, Setup and Help
  1752. Facility.  If you want to change these you may do so.  There are
  1753. four sets of colors for the main screen, the help screen,
  1754. messages, and menus.  For each of these you first set the
  1755. foreground, then the background.  Use () and () to choose the
  1756. color you want, then press (Enter) .
  1757. .cp
  1758.  
  1759. Which
  1760. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  1761.  
  1762. When working on a project you may not need all the files SUPER-
  1763. MAINT can build.  This section lets you tell the program which
  1764. ones you want.  The files you can build are:
  1765.  
  1766. make files                                    SUPER-MAINT or Microsoft
  1767.  
  1768. linker response files                 you MUST build these if you build a make
  1769.                                       file.  One is built for each of three
  1770.                                       memory models
  1771.  
  1772. library response file                 because of the way librarians work this
  1773.                                       is a little clumsy.  Libraries can only
  1774.                                       be built one memory model at a time, and
  1775.                                       it is best to use SUPER-MAINT only for
  1776.                                       new libraries, not to add to old ones.
  1777. .cp
  1778.  
  1779. PC-lint 'indirect' file               PC-lint can read a list of C source code
  1780.                                       files that let it process all the
  1781.                                       modules in a program together, instead
  1782.                                       of one file at a time.
  1783.  
  1784. Clear+ 'list' file                    Clear+ also uses a file in much the same
  1785.                                       way PC-lint does.  It contains the same
  1786.                                       information, but must have a different
  1787.                                       file extension.
  1788. .cp
  1789.  
  1790. EXE or LIB file                       If you do not want a finished program or
  1791.                                       library to be built choose No here. 
  1792.                                       This allows you to compile all your
  1793.                                       object files without linking a final
  1794.                                       product.  Most of the time this should
  1795.                                       be set to Yes.
  1796.  
  1797. Choose (y) or (n) for each type of file.
  1798.  
  1799. .cp
  1800.  
  1801. SM_Files
  1802. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  1803.  
  1804. This screen of options deals with how SUPER-MAINT deals with
  1805. various files it uses or manipulates.  
  1806.  
  1807. Text Editor                    Type the full path and file name for the text
  1808.                                editor you like to use.  For example, if you
  1809.                                use Brief, type:  C:\BRIEF\B
  1810.  
  1811. Object Files:                  If you want your object files to be compiled
  1812.                                to the default directory leave this blank. 
  1813.                                If you like all your object files to be
  1814.                                written to a special directory type the full
  1815.                                path here.  Example: C:\OBJDIR
  1816. .cp
  1817.  
  1818. Executable Files:              As with object files, you can tell SUPER-
  1819.                                MAINT to put all your executable files in a
  1820.                                dedicated directory.  Type it here.  If you
  1821.                                want executables to stay in their default
  1822.                                directory leave this space blank.
  1823.  
  1824. All Directories?               Type (y) if you want SUPER-MAINT to list all
  1825.                                available directories on a drive when you are
  1826.                                'Picking' files.  Type (n) if you always want
  1827.                                to see one directory.  (Choosing one
  1828.                                directory saves time each time you 'Pick'
  1829.                                files, but it limits you to keeping all your
  1830.                                source code in one directory.
  1831.  
  1832. All files?                     Type (y) if you want SUPER-MAINT to list all
  1833.                                available files in a directory when you are
  1834.                                'Picking' files.  Type (n) if you only want
  1835.                                to see source code files.
  1836. .cp
  1837. Code Directory:                If you chose not to see all directories you
  1838.                                have to tell SUPER-MAINT which one you keep
  1839.                                your source code in.
  1840.  
  1841. Extension 1,2,3:               SUPER-MAINT automatically reads the source
  1842.                                code file extensions from LASTMACS.SM when
  1843.                                you exit the 'Macros' section of the SUPER-
  1844.                                MAINT Editor.  In SMSET these three spaces
  1845.                                are mainly informational, showing you the
  1846.                                extensions currently in effect.  You may
  1847.                                change these if you want, but should be aware
  1848.                                that the next time you use the 'Macros'
  1849.                                function the extensions will default to
  1850.                                whatever is defined there.
  1851. .cp
  1852.  
  1853. Make Backups?                  If you choose yes SUPER-MAINT will make
  1854.                                backups of the files it builds with the
  1855.                                following extensions:  
  1856.  
  1857.                                S-M make file        .B-S
  1858.                                link res files       .B-1, .B-2, .B-3
  1859.                                lib res file         .B-L
  1860.                                MS make files        .B-M
  1861.                                PC-lint              .B-P
  1862.                                Clear+               .B-C
  1863.  
  1864. .cp
  1865.  
  1866. File Names
  1867. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  1868. When SUPER-MAINT builds files it can name all or some of them
  1869. after one of the source code files.  For example, if your program
  1870. is made of SAMPLE.C, SAMPLE1.C, and SAMPLE2.C you may choose
  1871. "SAMPLE" as the name of your make file, response files, etc.  The
  1872. make file would then be SAMPLE.SMF, the executable SAMPLE.EXE, and
  1873. so on.
  1874.  
  1875. SUPER-MAINT also lets you assign unique names to these files.  For
  1876. each choice if you type (y) the default name, taken from a source
  1877. code file, will be used.  If you type (n) the SUPER-MAINT Editor
  1878. will ask you to type a filename before it builds the file.
  1879. .cp
  1880.  
  1881. Defaults
  1882. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  1883.  
  1884. The compiler brand specific defaults are set here.
  1885.  
  1886. Default Mem Model              Set the model (1, 2, or 3) that you want
  1887.                                SUPER-MAINT to default to when a model is not
  1888.                                specified.  (If you are building Microsoft
  1889.                                make files they will be built for this model
  1890.                                as well.)
  1891.  
  1892. NMAKE, MAKE                    For most users this will be set to None.  If
  1893.                                you are building Microsoft make files set the
  1894.                                maker you use here.
  1895. .cp
  1896.  
  1897. ; for ASM                      If you answer Yes here a semi-colon will be
  1898.                                added to assembly language command lines. 
  1899.                                Users of Microsoft MASM can use this to keep
  1900.                                the assembler from stopping the program build
  1901.                                to answer prompts.
  1902.  
  1903.  
  1904. Manufacturer                   This sets your compiler manufacturer.  It is
  1905.                                important that this be set correctly to work
  1906.                                with your language(s) brand. 
  1907.  
  1908. .cp
  1909.  
  1910. Libraries
  1911. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  1912.  
  1913. When you choose this option you get a submenu that lets you pick
  1914. memory model 1, 2, or 3.  Each brings up a screen that lets you
  1915. put the name of the library on the top line, then list up to 11
  1916. libraries you want linked with your programs.
  1917.  
  1918. Please note that some compilers (Turbo C, for example) require the
  1919. full path of the library, and that libraries be listed in a
  1920. certain order.
  1921. .cp
  1922.  
  1923. Glob/Loc
  1924. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  1925.  
  1926. SUPER-MAINT reads it's files from the directory you have assigned
  1927. to the SUPERFILES variable in DOS (INSTALL may have done this
  1928. automatically for you if you chose for it to).  The setup that all
  1929. the programs use is called SUPER.INI.  If you have more than one
  1930. project going at a time you may want to use more than one setup. 
  1931. This feature lets you have a separate SUPER.INI in each directory
  1932. you use to program from.
  1933.  
  1934. The Glob/Loc menu choice is a toggle.  SMSET shows at the bottom
  1935. of the screen how this is set.  SME shows a G or an L in the upper
  1936. left corner of the screen.  SM will give this information if you
  1937. use the -l or -v flags.
  1938. .cp
  1939.  
  1940. When using the Editor (SME), if you have chosen Local and there is
  1941. no SUPER.INI file in the current directory SMSET will be called in
  1942. beginner's mode to insure you set everything the way you need it. 
  1943. It is strongly suggested that you redefine the colors for each
  1944. setup to help remind you that you may be using a different one
  1945. than you expect.
  1946. *END*
  1947.  
  1948. %6%
  1949. Chapter 6:  Using the Maker (SM.EXE)≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  1950.  
  1951. The real joy of SUPER-MAINT is in using the maker (SM).  For most
  1952. applications you only have to know a few command flags, which you
  1953. generally use the first time you build a program.
  1954.  
  1955. For example, let's say you are building the sample program that
  1956. comes with SUPER-MAINT.  It consists of three modules.  Imagine
  1957. you have a make file called SUPER.SMF (for a sample see chapter
  1958. 8).  To build this program in the small memory model (which we
  1959. have defined as memory model 1), and including symbolic debugging
  1960. information you type:
  1961.  
  1962.                      sm sample -1 -d (Enter)
  1963. .cp
  1964.  
  1965. It doesn't matter what order you type these in, as long as you
  1966. type 'sm' first.  So these examples would be equally valid:
  1967.  
  1968.                      sm -1 -d sample (Enter)
  1969.                      sm -d sample -1 (Enter)
  1970.  
  1971. Now SUPER-MAINT  chugs away, calling your compiler to build each
  1972. file, then linking the modules together.
  1973.  
  1974. Now let's say you change one of the source code files.  You want
  1975. to rebuild the program.  Type:
  1976.  
  1977.                      sm (Enter)
  1978. .cp
  1979.  
  1980. That's all!   SUPER-MAINT  remembered the name of your make file
  1981. and the flags you set.  If you want to rebuild the whole program
  1982. without the debugging information type:
  1983.  
  1984.                      sm -er -n (Enter)
  1985.  
  1986. You only type what you want to change.  Things that stay the same
  1987. (in this case the name of the make file and the memory model) are
  1988. memorized.
  1989. .cp
  1990.  
  1991. Now let's say you have another program called NEWPROG that you
  1992. also want compiled in the small model with no debugging
  1993. information.  Type:
  1994.  
  1995.                      sm newprog (Enter)
  1996.  
  1997. Again, SUPER-MAINT has retained all the settings from the last
  1998. time you built.  Quick, clean, and easy.
  1999. .cp
  2000.  
  2001. Command Format
  2002. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  2003.  
  2004. It's probably obvious from the examples above, but just for the
  2005. record, the command format for SUPER-MAINT is:
  2006.  
  2007.                      sm [makefile_name] [command flags]
  2008.  
  2009. sm                             SUPER-MAINT
  2010. makefile_name          the name of the make file WITHOUT the extension
  2011.                        (SM only reads make files with the extension
  2012.                        'SMF')
  2013. command flags          short mnemonic commands preceded with a '-' or a
  2014.                        '/'
  2015.  
  2016. As long as 'sm' comes first the order doesn't matter.
  2017. .cp
  2018.  
  2019. Remembering Memory Models
  2020. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  2021.  
  2022. Some programmers always program in the large model.  Others
  2023. program in a variety of memory models.  This is no problem for
  2024. SUPER-MAINT.  SM keeps a list of the make files you call in a file
  2025. called SM.MML.  Each time you call SM it checks the list.  If it
  2026. finds the current project name it automatically changes to the
  2027. memory model on the list unless you use the -1, -2, or -3 flag to
  2028. specifically change the model.  If you do that the list is also
  2029. changed.
  2030.  
  2031. .cp
  2032.  
  2033. Going back to our example, let's say you are compiling SAMPLE in
  2034. the small model, and NEWPROG in the large, but all other
  2035. parameters are the same.  You have compiled each at least once
  2036. before, so they are already on the list.  All you have to do to
  2037. build both programs is type:
  2038.  
  2039.                            sm sample (Enter)
  2040.                            sm newprog (Enter)
  2041.  
  2042. SUPER-MAINT automatically changes the memory model before it calls
  2043. the compiler and linker.
  2044.  
  2045. .cp
  2046.  
  2047. Command Summary
  2048. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  2049.  
  2050. Command flags may be in upper or lower case.  You may use a '-' or
  2051. a '/' to precede the letter(s) in the flag.  The order they appear
  2052. in doesn't matter.  
  2053. Some flags are part of a set, such as the memory model flags.  If
  2054. the model was set by -1 before, typing -3 will change it.  
  2055.  
  2056. Other flags are toggles.  The first time you use it it turns a
  2057. feature on, the next time it turns it off.  For example use -s to
  2058. suppress most SUPER-MAINT messages.  Use it again to reactivate
  2059. showing messages.
  2060.  
  2061. Still other flags do things only if you call them each time.  You
  2062. use the -l flag to look at your settings without actually building
  2063. a program.  The next time you call the maker you don't have to do
  2064. anything to deactivate this.
  2065. .cp
  2066.  
  2067.  
  2068.  
  2069.  
  2070. Here is a brief summary of all the SUPER-MAINT flags:
  2071.  
  2072. Sets of flags:
  2073.  
  2074.         -1             Use first memory model
  2075.         -2             Use second memory model
  2076.         -3        use third memory model
  2077.         
  2078.         -d        include debugging information in the program
  2079.         -n        no debugging information in the program
  2080.  
  2081.         -v        view settings after each build
  2082.         -o        turn off viewing settings
  2083. .cp
  2084.  
  2085. Toggles:
  2086.  
  2087.         -s             suppress most SUPER-MAINT messages
  2088.         -i             ignore compiler errors and keep building
  2089.         -m             disables trying to 'move' executable file. On some
  2090.                        machines this feature causes the executable to be
  2091.                        erased at the end of a build.  This flag
  2092.                        specifically disables the feature that causes it
  2093.                        to happen.
  2094. .cp
  2095.  
  2096. Flags that Must be Called to Work:
  2097.  
  2098.         -h        help
  2099.         -hi       view information about SUPER-MAINT
  2100.         -hf       view help on make file construction
  2101.         -e        read which object files belong to this project
  2102.                   from the make file, then erase only those object
  2103.                   files (if you have more than one project in the
  2104.                   same directory you will not loose the object files
  2105.                   for the other projects as you would if you typed,
  2106.                   "del *.obj"
  2107.         -er       same as -e, except it cause a total rebuild of
  2108.                   your program, and it may be used with other flags. 
  2109.                   For example:
  2110.                           "sm -er -n sample"
  2111.                   would recompile every file in SAMPLE with no debugging
  2112.                   information.
  2113. .cp
  2114.         -l        look at what the maker will do next without
  2115.                   actually doing it, then view settings.
  2116.         -q        quick setup (advanced mode)
  2117.         -qb       quick setup (beginner's mode)
  2118.         -r        reset all flags to defaults
  2119.         -t        "touch" all dependents in the file.  This changes
  2120.                   the dates on the dependents to match the targets
  2121.                   so next time you call SM nothing will happen. 
  2122.                   This is great when you have been commenting your
  2123.                   code, but have made no changes to the code itself.
  2124.  
  2125.  
  2126.  
  2127. .cp
  2128.  
  2129. Viewing Settings
  2130. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  2131.  
  2132. When you use the -l or -v flags to view current settings you see
  2133. a chart that looks something like this:
  2134.  
  2135. HP ME DB SM IR                         ER MD TO EO LO VF R
  2136. 0  3  1  0  0  0  0  0  0  0  0  0  0  0  0  0  0  1  0  0
  2137. SUPER-MAINT file: sample.smf
  2138. Set for Microsoft Compilers             Using Global Setup
  2139.  
  2140. Table 2:
  2141. -----------------------------------------------------------
  2142. .cp
  2143.  
  2144. Here's how to read it:
  2145.  
  2146. SYM   FLAG                    CODES
  2147.  
  2148. HP    Help                     Always shows 0
  2149. ME    Memory Model             1= mem model 1; 2 = mem model 2; 3 = mem
  2150.                                model 3
  2151. DB    Debug/Nodebug            1 = use debug information (xxD macro); 
  2152.                                2 = use no debug information (xxND macro)
  2153. SM    Suppress Messages        1 = messages on; 2 = messages off
  2154. IR    Ignore return
  2155.       codes                    0 = stop building program if there is a
  2156.                                compiler or linker error (including stopping
  2157.                                the compiler with (Ctrl) (c) ); 1 = ignore
  2158.                                compiler errors
  2159. ER    Erase & Rebuild          Always shows 0
  2160. .cp
  2161. MD    Move/ Delete             Default = 0 (executables are moved to a
  2162.                                special directory if it has been defined in
  2163.                                SMSET, then erased form the current
  2164.                                directory); 1 = disable this function
  2165. TO    Touch Dependents         Always shows 0
  2166. EO    Erase Object Files       Always shows 0
  2167. LO    Look Only                Shows 0 or 1 - doesn't matter.  This flag
  2168.                                previews what SM will do the next time you
  2169.                                build, but doesn't actually perform the
  2170.                                actions
  2171. VF    View Flags               1 = on; 0 = off
  2172. R     Reset                    Always shows 0.
  2173. .cp
  2174.  
  2175. Below the chart is the name of the make file.
  2176. Below that is a reminder about the brand of compiler SUPER-MAINT
  2177. is set for, and whether it is set to use the local or global
  2178. SUPER.INI file.
  2179. *END*
  2180.  
  2181. %7%
  2182. Chapter 7:  Program Files≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  2183.  
  2184. Here is a list of the files that come with SUPER-MAINT:
  2185.  
  2186. Executable Files:
  2187.  
  2188. SM.EXE                 SUPER-MAINT maker
  2189. SME.EXE                SUPER-MAINT Editor
  2190. SMH.EXE                SUPER-MAINT Help Facility
  2191. SMSET.EXE              SUPER-MAINT Setup Facility
  2192. INSTALL.EXE        Automatic Installation Program
  2193. S.COM                  Small landscape printer for LaserJet
  2194. .cp
  2195.  
  2196. Initialization Files:
  2197.  
  2198. SM.INI                 Remembers the last options processed by
  2199.                        SUPER-MAINT
  2200. SME.INI                Contains all values set up in the SUPER-MAINT
  2201.                        Editor     in the Setup menu.  Information is used
  2202.                        by the Editor, Help Facility, and the Maker.
  2203. .cp
  2204.  
  2205. Language Definition Files:
  2206.  
  2207. LANG1.SM               Macro and Help Information for first programming 
  2208.                         language
  2209. LANG2.SM               Macro and Help Information for second programming
  2210.                        language
  2211. LANG3.SM               Macro and Help Information for third programming 
  2212.                         language
  2213. LINKER.SM              Macro and Help Information for linker
  2214. LIB.SM                 Macro and Help Information for librarian
  2215. LASTMACS.SM            last macro settings used
  2216. .cp
  2217.  
  2218. Files Read by Help Facility:
  2219.  
  2220. SUPER.HLP              Help information for all SUPER-MAINT Executables
  2221. SUPER.NDX              Help index needed to run Help
  2222. MANUAL.HLP             This manual formatted to be read by the Help
  2223.                        Facility
  2224. MANUAL.NDX             Help index needed to run Help
  2225.  
  2226. .cp
  2227.  
  2228. Files SUPER-MAINT Generates
  2229.  
  2230. (xxx refers to the unique file name you assign to these files)
  2231.  
  2232. xxxxxxxx.SMF           SUPER-MAINT Make file
  2233. xxxxxxxx               Microsoft Make or Nmake Make file
  2234. xxxxxxxx.lrs           1st memory model linker Response file
  2235. xxxxxxxx.lrm           2nd memory model linker Response file
  2236. xxxxxxxx.lrl           3rd memory model linker response file
  2237. xxxxxxxx.lbr           Library Response file
  2238. xxxxxxxx.lnt           PC-Lint Indirect file
  2239. xxxxxxxx.l             Clear+ List file
  2240. nmxxxxxx.bat           Batch file to compile with Debugging Info using
  2241.                        NMAKE
  2242. mxxxxxx.bat            Batch file to compile with Debugging Info using
  2243.                        MAKE
  2244. .cp
  2245.  
  2246. Self Extracting Files
  2247.  
  2248. (These files are on the distribution disk (or in the .zip file
  2249. used to distribute SUPER-MAINT on the bulletin boards).  They
  2250. contain SUPER-MAINT, and should NOT end up on your hard drive)
  2251.  
  2252. SMAK.EXE               Contains SUPER-MAINT executable files
  2253. SMUTIL.EXE             Contains Manual, help files and sample program
  2254.                        files
  2255. MS.EXE                 Contains Microsoft Compatible Language Definition
  2256.                        Files
  2257. BOR.EXE                Contains Borland Compatible Language Definition
  2258.                        Files
  2259. MIX.EXE                Contains Mix Compatible Language Definition Files
  2260. .cp
  2261.  
  2262. Information Files:
  2263.  
  2264. (The following files are contained on your distribution disk (or
  2265. .zip)
  2266. file and are NOT compressed, ie. they are ready to use as is)
  2267.  
  2268. README.SUP             Latest update file
  2269. REG.FRM                Registration Form
  2270. SUPER.INF              A summary of SUPER-MAINT features
  2271. VENDOR.DOC             Information for shareware distributors
  2272. SMUPDATE.TXT           History of additions and corrections to the
  2273.                        program
  2274. *END*
  2275.  
  2276. %8%
  2277.  
  2278. Chapter 8:  File Samples≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  2279.  
  2280. SUPER-MAINT Make File:
  2281.  
  2282. Here are the three macro sets used by this particular file (we are
  2283. only compiling in C and MASM, so we use that set of macros and
  2284. the linker set of macros.  Chapter 3 explains a macro set.
  2285.  
  2286. .cp
  2287.  
  2288. L1CO = -c
  2289. L1M1 = -AS
  2290. L1M2 = -AM
  2291. L1M3 = -AL
  2292. L1ND = 
  2293. L1D = -Zi -Od
  2294. L1F1 = 
  2295. L1F2 = 
  2296. L2CO = 
  2297. L2M1 = 
  2298. L2M2 = 
  2299. L2M3 = 
  2300. L2ND = 
  2301. L2D = -Zi
  2302. L2F1 = 
  2303. L2F2 = 
  2304. .cp
  2305. LNCO = 
  2306. LNM1 = 
  2307. LNM2 = 
  2308. LNM3 = 
  2309. LNND = /E
  2310. LND = /CO
  2311. LNF1 = /NOE
  2312. LNF2 = /ST:25000
  2313. CPY = SAMPLE.C+SAMPLE1.C+SAMPLEA.ASM
  2314. TNAMES = 
  2315.         SAMPLE.OBJ&
  2316.         SAMPLE1.OBJ&
  2317.         SAMPLEA.OBJ
  2318.  
  2319. As long as notes don't have any of the symbols used in macros or
  2320. action blocks in them, they don't need any special symbols or
  2321. formatting.  Also, NOTES MUST NOT BE ON THE SAME LINE WITH A MACRO
  2322. OR ACTION BLOCK.
  2323. .cp
  2324.  
  2325. SAMPLE.OBJ:  C:\CODE\SAMPLE.C
  2326.          CL $(L1)  C:\CODE\SAMPLE.C
  2327.  
  2328. SAMPLE1.OBJ:  C:\CODE\SAMPLE1.C
  2329.          CL $(L1)  C:\CODE\SAMPLE1.C
  2330.  
  2331. SAMPLEA.OBJ:  C:\CODE\SAMPLEA.ASM
  2332.          MASM $(L2)  C:\CODE\SAMPLEA.ASM ;
  2333.  
  2334. Notice the semi-colon (;) at the end of the command line in the
  2335. assembler action block.  This was placed there by the SUPER-MAINT
  2336. Editor to prevent the assembler from stopping for responses during
  2337. a build.  (This is user definable in the Setup Menu.
  2338. .cp
  2339.  
  2340. sample.txt: placebo
  2341.          COPY $(CPY) SAMPLE.TXT
  2342.  
  2343. The above action block deserves special notice for several
  2344. reasons.  It is an example of an action block you might put in
  2345. manually (the SUPER-MAINT Editor does not generate action blocks
  2346. using DOS commands).
  2347.  
  2348.         1.  It uses a DOS command on the action line.  SUPER-MAINT
  2349.         supports these DOS commands (cd, chdir, chkdsk, cls, comp,
  2350.         copy, del, dir, diskcomp, diskcopy, fc, find, format, mem,
  2351.         mkdir, md, print, ren, remdir, rd, xcopy).
  2352. .cp
  2353.  
  2354.         2.  A Placebo has been used for the dependent.  This is any
  2355.         word that doesn't represent an actual file.  This allows
  2356.         SUPER-MAINT to execute the command on the second line of the
  2357.         action block.  The first line of an action block MUST ALWAYS
  2358.         have a target and a dependent.  The target is the file to be
  2359.         created, the dependent is the file(s) it is created from. 
  2360.         You may always use a placebo for the dependent.  If you do
  2361.         the command line will ALWAYS be executed, each time you make
  2362.         your program. 
  2363.  
  2364.         3.  No path was specified for the dependent.  SUPER-MAINT
  2365.         will look for the dependent in the current (default)
  2366.         directory.
  2367. .cp
  2368.  
  2369.         4.  The target is not an object file, or an .exe, .com, or
  2370.         .bat file.  SUPER-MAINT generates a message that it doesn't
  2371.         know where you want the target file, and that it is putting
  2372.         it in the current (default) directory.
  2373.         5.  A user defined macro has been used (CPY).  The other way
  2374.         to do this would be to put the whole command right on the
  2375.         command line.  Example -- copy sample.c+sample1.c sample.txt 
  2376.         Either method is acceptable.  By the way you can add commands
  2377.         directly to the command line on command lines that use macro
  2378.         sets such as (L1).  Just type them after the (L) macro.  You
  2379.         can also put user defined macros there if you want.  The only
  2380.         limit is that the whole command line, including whatever is
  2381.         contained in macros may not exceed 128 characters.
  2382. .cp
  2383.  
  2384. sample.txt: c:\code\sample.c c:\code\sample1.c c:\code\samplea.asm
  2385.          COPY $(CPY) SAMPLE.TXT
  2386.  
  2387. Here's the same action block without the placebo.  Notice the
  2388. multiple dependents.  SUPER-MAINT can handle up to 18 dependents
  2389. in an action block (if there's room for them on a line).
  2390.  
  2391. SAMPLE.EXE: $(TNAMES)
  2392.          LINK $(LN)  @SAMPLE.LNK
  2393.  
  2394.  
  2395. Action blocks MUST be two lines with no blank lines in between
  2396. them, as shown above.
  2397. .cp
  2398.  
  2399. As you can see there is no special format for Notes except that
  2400. they must not have the format of a macro or a target/dependent
  2401. line.  The only trouble with using a LOT of notes is that it slows
  2402. down the working of SUPER-MAINT (although in my tests on an
  2403. 80386/16 I haven't noticed any real difference in time.  I have
  2404. been using this file for testing and you will agree it is quite
  2405. verbose!).  So the rules for notes are-
  2406.  
  2407.         Always put notes on their own line in the file.  For
  2408.         clarity's sake skip a line between notes and macros or action
  2409.         blocks.
  2410.  
  2411.         Never use symbols in notes that are used in macros or action
  2412.         blocks (equal sign, colon, dollar sign, etc).
  2413.  
  2414.         Be sparing with your notes.  (Do as I say, not as I did!)
  2415. .cp
  2416.  
  2417. Linker Response File
  2418.  
  2419. SUPER-MAINT makes three of these files, one for each memory model. 
  2420. When you call SUPER-MAINT it calls the correct response file for
  2421. the memory model you are currently using.
  2422.  
  2423. (Microsoft C Example)
  2424.  
  2425. SAMPLE.LRS     SAMPLE.LRM     SAMPLE.LRL
  2426. SAMPLE+        SAMPLE+        SAMPLE+
  2427. SAMPLE1+       SAMPLE1+       SAMPLE1+
  2428. SAMPLEA        SAMPLEA        SAMPLEA
  2429. SAMPLE         SAMPLE         SAMPLE
  2430. SAMPLE         SAMPLE         SAMPLE
  2431. SLIB+          MLIB+          LLIB+
  2432. SMYLIB         MMYLIB         LMYLIB
  2433. nul.def        nul.def        nul.def
  2434. .cp
  2435.  
  2436. Librarian Response File
  2437.  
  2438. (Microsoft LIB example)
  2439.  
  2440. SAMPLE.lib
  2441. Y
  2442. SAMPLE&
  2443. SAMPLE1&
  2444. SAMPLEA
  2445. nul
  2446.  
  2447.  
  2448.  
  2449.  
  2450.  
  2451.  
  2452.  
  2453. .cp
  2454.  
  2455. Microsoft MAKE/NMAKE File
  2456.  
  2457. L2CO = 
  2458. L2M1 = 
  2459. L2M2 = 
  2460. L2M3 = 
  2461. L2ND = 
  2462. L2D = /Zi
  2463. L2F1 = 
  2464. L2F2 = 
  2465. L3CO = -c
  2466. L3M1 = -AS
  2467. L3M2 = -AM
  2468. L3M3 = -AL
  2469. L3ND = 
  2470. L3D = -Zi -Od
  2471. L3F1 = L3F2 = 
  2472. .cp
  2473. LNCO = 
  2474. LNM1 = 
  2475. LNM2 = 
  2476. LNM3 = 
  2477. LNND = /E
  2478. LND = /CO
  2479. LNF1 = /NOE
  2480. LNF2 = /ST:30000
  2481. TNAMES = SAMPLE.OBJ SAMPLE1.OBJ SAMPLEA.OBJ 
  2482.  
  2483. .cp
  2484.  
  2485. SAMPLEA.OBJ:  SAMPLEA.ASM
  2486.          MASM $(L2CO) $(L2M1) $(L2ND) $(L2F1) $(L2F2)  SAMPLEA.ASM;
  2487.  
  2488. SAMPLE.OBJ:  SAMPLE.C
  2489.          CL $(L3CO) $(L3M1) $(L3ND) $(L3F1) $(L3F2)  SAMPLE.C
  2490.  
  2491. SAMPLE1.OBJ:  SAMPLE1.C
  2492.          CL $(L3CO) $(L3M1) $(L3ND) $(L3F1) $(L3F2)  SAMPLE1.C
  2493.  
  2494. SAMPLE.EXE: $(TNAMES)
  2495.          LINK $(LNND) $(LNF1) $(LNF2)  @SAMPLE.LRS
  2496.  
  2497. .cp
  2498.  
  2499. Batch File for MAKE/NMAKE
  2500. (Call MAKE or NMAKE with this batch file to use the macros that
  2501. embed CodeView information into your program)
  2502.  
  2503. make L1Nd=$(L1D) L2ND=$(L2D) L3ND=$(L2D) LNND=$(LND) SAMPLE
  2504.  
  2505.  
  2506.  
  2507.  
  2508.  
  2509.  
  2510.  
  2511.  
  2512. .cp
  2513.  
  2514. PC-lint 'Indirect' File
  2515.  
  2516. SAMPLE.C
  2517. SAMPLE1.C
  2518. .cp
  2519.  
  2520. Clear+ 'List' File
  2521.  
  2522. SAMPLE.C
  2523. SAMPLE1.C
  2524. *END*
  2525.  
  2526. %9%
  2527. Chapter 9:  About Shareware≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  2528.  
  2529.  
  2530. Shareware, EmmaSoft, and Help
  2531. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  2532.  
  2533. Shareware distribution gives users a chance to try software before
  2534. buying it. If you try a Shareware program and continue using it,
  2535. you are expected to register.  When you register your copy of
  2536. SUPER-MAINT you will receive the latest version on a disk and a
  2537. printed version of this manual.  You will also be assigned a
  2538. serial number which entitles you to technical support. 
  2539. .cp
  2540.  
  2541. Copyright laws apply to both Shareware and commercial software,
  2542. and the copyright holder retains all rights, with a few specific
  2543. exceptions as stated below. Shareware authors are accomplished
  2544. programmers, just like commercial authors, and the programs are of
  2545. comparable quality. (In both cases, there are good programs and
  2546. bad ones!) The main difference is in the method of distribution.
  2547. The author specifically grants the right to copy and distribute
  2548. the software, either to all and sundry or to a specific group. For
  2549. example, EmmaSoft requires written permission before a commercial
  2550. disk vendor may copy their Shareware.  (See vendor.doc for more
  2551. information.)
  2552. .cp
  2553.  
  2554. Shareware is a distribution method, not a type of software. You
  2555. should find software that suits your needs and pocketbook, whether
  2556. it's conventional commercial software or Shareware (Many shareware
  2557. programs ARE commercial in that a registration fee is required
  2558. after a trial period.  For SUPER-MAINT this period is 30 days). 
  2559. The Shareware system makes fitting your needs easier, because you
  2560. can try before you buy. And because the overhead is low, prices
  2561. are low also. Shareware has the ultimate money-back guarantee --
  2562. if you don't use the product, you don't pay for it.
  2563.  
  2564. .cp
  2565.  
  2566. Distribution
  2567. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  2568.  
  2569. EmmaSoft retains all rights to SUPER-MAINT.  You may distribute
  2570. SUPER-MAINT provided you comply with the following conditions:
  2571.  
  2572.         1.  NO FILES MAY BE CHANGED.  All text and settings must be
  2573.         as shipped originally from EmmaSoft.  The original .zip
  2574.         file(s) (SUPER.ZIP, or SUPER_A.ZIP and SUPER_B.ZIP) must be
  2575.         used to do this.  When unzipped it has a message confirming
  2576.         the authenticity of the files.  This both insures that they
  2577.         are, indeed, the original files, and helps protect against
  2578.         viruses.
  2579. .cp
  2580.  
  2581.         If you received SUPER-MAINT on a distribution disk you must
  2582.         make exact copies of all files on the disk.  You may then
  2583.         distribute SUPER-MAINT on another disk (containing all the
  2584.         files).  You MUST NOT compress the files yourself.  If you
  2585.         received a compressed version that does not display the
  2586.         message, "Authentic Files Verified", followed by a number and
  2587.         "EmmaSoft Co." it is NOT supported by EmmaSoft. Contact
  2588.         EmmaSoft immediately for a good copy.
  2589. .cp
  2590.  
  2591.         2.  PROFESSIONAL DISTRIBUTORS OF SHAREWARE (and other
  2592.         programs) MUST contact EmmaSoft before distributing
  2593.         SUPER-MAINT.  In catalogs there MUST be a line in the program
  2594.         description describing the registration fee, and somewhere in
  2595.         the catalog there must be a satisfactory explanation of the
  2596.         shareware concept, including the facts that all rights to
  2597.         this copyrighted program are retained by EmmaSoft, that it is
  2598.         NOT a public domain program, and that registration fee is
  2599.         required if the program is used beyond the trial period.  No
  2600.         more than a maximum of $10 (US) may be charged for the
  2601.         shareware disks (realizing this program may be include on a
  2602.         CD-ROM or some other disk containing many shareware programs
  2603.         exceptions may be made.  You may only distribute the program
  2604.         for more than $10 if you have written permission from
  2605.         EmmaSoft).
  2606. .cp
  2607.  
  2608.         3.  SYSOPs posting SUPER-MAINT on a Bulletin Board System may
  2609.         post the file SUPER.ZIP (which contains SUPER_A.ZIP and
  2610.         SUPER_B.ZIP), or the two files, SUPER_A.ZIP and SUPER_B.ZIP. 
  2611.         If the latter there must be a note in the file descriptions
  2612.         stating SUPER_A.ZIP is file "1 of 2" and SUPER_B.ZIP is "2 of
  2613.         2."
  2614.  
  2615.         4.  USER GROUPS may distribute SUPER-MAINT for free or for a
  2616.         small disk copying charge.  Please advise your members that
  2617.         the program is shareware and encourage them to register it if
  2618.         they end up using it.
  2619.  
  2620.         5.  INDIVIDUALS may give away copies of SUPER-MAINT provided
  2621.         that condition #1 (above) is met.
  2622. .cp
  2623.  
  2624.         6.  ALL:  It is strictly forbidden to distribute copies of
  2625.         SUPER-MAINT that have a serial number in the setup file. 
  2626.         Only copies of the program with all files AS SHIPPED FROM
  2627.         EMMASOFT may be distributed in any way.
  2628. .cp
  2629.  
  2630. ASP
  2631. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  2632.  
  2633. The Association of Shareware Professionals (ASP) was formed to
  2634. educate shareware authors, distributers and the public about
  2635. shareware, to set standards for shareware, and to allow its
  2636. members to share resources and information.  Programs written by
  2637. ASP members are as diverse as conventional commercial programs,
  2638. but share certain standards.  Some of the ASP requirements include
  2639. that the programs are copyrighted (not public domain), that they
  2640. be fully functional (not partially functional "come ons"), and
  2641. that technical support be available for a minimum of three months
  2642. (there is no time limit on EmmaSoft's support).
  2643.  
  2644. All EmmaSoft shareware meets or exceeds ASP standards.
  2645.  
  2646. The ASP generally congregates on the shareware forum on
  2647. CompuServe.  For more information "go ASP".
  2648. .cp
  2649.  
  2650.  
  2651. Ombudsman Statement
  2652. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  2653.  
  2654. Programmer's SUPER-MAINT is produced by a member of the
  2655. Association of Shareware Professionals (ASP).  ASP wants to make
  2656. sure that the shareware principle works for you. If you are unable
  2657. to resolve a shareware-related problem with an ASP member by
  2658. contacting the member directly, ASP may be able to help. The ASP
  2659. Ombudsman can help you resolve a dispute or problem with an ASP
  2660. member, but does not provide technical support for members'
  2661. products. Please write to the ASP Ombudsman at 545 Grover Road,
  2662. Muskegon, MI 49442-9427 or send a Compuserve message via
  2663. CompuServe Mail to ASP Ombudsman 70007,3536"
  2664.  
  2665. .cp
  2666.  
  2667. Technical Support
  2668. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  2669.  
  2670. SUPER-MAINT was written by Dan Veaner.  Dan can be reached at
  2671. EmmaSoft, or CompuServe at 71460,2644.
  2672.  
  2673. Technical assistance is available ONLY to registered users.  You
  2674. must have a valid serial number to receive assistance.  Before
  2675. calling check the manual to make sure you are using SUPER-MAINT
  2676. properly.  If so, try using a different copy of the program and
  2677. see if the problem continues.
  2678.  
  2679. EmmaSoft is opened M-F 9-Noon and 1-5, and sometimes on Saturdays. 
  2680. When you call for assistance have the following information ready
  2681. (if you get the answering machine please leave your name, serial
  2682. number, a number where you may be called collect, and some good
  2683. times to reach you):
  2684. .cp
  2685.  
  2686.         1.  Your valid serial number.  (Type alt-v in the SUPER-MAINT
  2687.         Editor to see your serial number.)
  2688.  
  2689.         2.  Type and make of computer, printer, etc.
  2690.  
  2691.         3.  Which compiler, linker, etc. you are using.  PLEASE NOTE: 
  2692.         EmmaSoft does not support compilers, linkers, and so on.  We
  2693.         only support our own product.  If you are having a problem
  2694.         with a program SUPER-MAINT calls, please call tech support at
  2695.         the company that makes that program.
  2696.  
  2697.         4.  A concise explanation of the problem (what you tried to
  2698.         do, what actually happened.  How many times you tried it.
  2699.         Etc.)
  2700. .cp
  2701.  
  2702. EmmaSoft is very interested in hearing your suggestions for future
  2703. features in SUPER-MAINT.  Also, if you use a compiler that you
  2704. would like specifically supported please let us know (if you could
  2705. send a sample make file and  a synopsis of the command line
  2706. structure it will help).
  2707. .cp
  2708.  
  2709. EmmaSoft BBS Support
  2710. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  2711.  
  2712. You may always download the most recent EmmaSoft shareware from
  2713. the EmmaSoft Shareware Board(ESB) Bulletin Board Service.  
  2714.  
  2715. Technical support is also offered here.  Registered users may gain
  2716. access to special tech support sections that may have files (such
  2717. as new language definition files) useful in using SUPER-MAINT.
  2718.  
  2719. The BBS is also open to the public.  There are many programs and
  2720. files available for downloading, and no restrictions on doing so
  2721. beyond the 45 minute daily time limit.  There is an extensive
  2722. collection of programs by ASP authors.  Please avail yourself of
  2723. this collection of exceptional programs.
  2724. .cp
  2725.  
  2726. There is no charge for using the ESB (the phone company will
  2727. charge your phone bill for long distance calls).  The BBS is
  2728. available 24 hours a day.  Set your modem to 2400 or 1200 bps,
  2729. N,8,1.  Then call 607-533-7072.
  2730. *END*
  2731.  
  2732. %A%
  2733. Appendix A: Error Messages≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  2734.  
  2735. SUPER-MAINT generates a number of error messages when an error is
  2736. generated,  or a condition occurs where you should know about
  2737. something that has  happened or not happened.  Here is a summary
  2738. of the messages: 
  2739. .cp
  2740.  
  2741. ERRORS:
  2742.  
  2743. SM100:         Unknown error.
  2744. SM101:         Environment Problem.
  2745. SM102:         Can't find command.com.
  2746. SM103:         Invalid command.com.
  2747. SM104:         Not enough memory.
  2748. SM105:         Help system needs a topic to run.
  2749. SM125:         Can't find file to open.
  2750. SM126:         Lost count of compiler files.
  2751. SM127:         Can't find text editor.  Check Path setting in Setup.
  2752. SM128:         Can't find SUPER-MAINT files.  
  2753.                Make sure you have set the SUPERFILES environment
  2754.                variable.
  2755. .cp
  2756. SM129:         Can't find SUPER-MAINT Help Facility.  Check Path
  2757.                setting in Setup.
  2758. SM130:         Can't find SUPER-MAINT initialization file.
  2759. SM131:         SUPERFILES Environment not set.
  2760. SM132:         Can't Find local SUPER-MAINT initialization file (Use
  2761.                Setup)
  2762. .cp
  2763.  
  2764. MAKER ERRORS:
  2765.  
  2766. SM170:         No Make File Specified.
  2767. SM171:         Can't open (filename).  Try entering drive and path.  
  2768.                         Example: sm c:\\sm\\filename
  2769. SM172:         Don't know where to put (file).
  2770.                Putting target in (obj file directory if defined, 
  2771.                        default directory, otherwise).
  2772. SM174:         Compiler Error.  SUPER-MAINT Stopping.
  2773. SM175:         Can't find file:  [filename].
  2774. SM176:         Building [filename].
  2775. SM177:         Can't Change File Date.
  2776. SM178:         Can't Generate Help Index.
  2777. SM179:         Can't save initialization file.
  2778. .cp
  2779.  
  2780. WARNINGS AND MESSAGES:
  2781.  
  2782. SM401:         No files with .C or .H extensions.  File not made.
  2783. SM402:         Can't Make PC-Lint File Name.  File Not Made.
  2784. SM403:         Can't Make Clear+ File Name.  File Not Made.
  2785. SM404:         Can't Make Link Res File Name.  File Not Made.
  2786. SM405:         Can't open Link Res File.  File Not Made.
  2787. SM406:         Can't Open Clear+ File.  File Not Made.
  2788. SM407:         Can't Open PC-Lint File.  File Not Made.
  2789. SM408:         Internal Error Making File Name.  File Not Made.
  2790. SM409:         Can't Make Executable File Name.  File Not Made.
  2791. SM410:         Can't Make Map File Name.  File Not Made.
  2792. SM411:         Can't Open Macro File.  Can't construct MS Make File.
  2793. SM412:         Can't Make Microsoft Make File Name.  File Not Made.
  2794. SM413:         Can't Open Microsoft Make File.  Can't Save The File.
  2795. SM414:         Can't Open Microsoft Debug Batch File.  Can't Make The
  2796.                File.
  2797. .cp
  2798. SM415:         Can't Make Lib Res File Name.  File Not Made.
  2799. SM416:         Can't open Lib Res File.  File Not Made.
  2800. SM417:         Can't Make SUPER-MAINT Make File Name.  File Not Made.
  2801. SM418:         Can't Open Macro File.  Can't construct SUPER-MAINT Make
  2802.                File.
  2803. SM419:         Can't Open SUPER-MAINT Make File.  Can't Save The File.
  2804. SM420:         Index Generated Successfully.
  2805. SM421:         Creating Help Index.
  2806. SM422:         Object files Erased.
  2807. SM423:         Dependents Touched.  File Dates Changed.
  2808. SM424:         Not enough memory to update memory model list.
  2809. SM425:         Can't open initialization file.
  2810. *END*
  2811.  
  2812. %B%
  2813. Appendix B: Program Specifications≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  2814.  
  2815. SUPER-MAINT will work on IBM or true compatible XT, AT, 80386,
  2816. 80486, with a hard disk and color or monochrome system. There is
  2817. no special printer coding, so SUPER-MAINT should work on any
  2818. printer.  However, it has been TESTED on an HP LJII and a STAR
  2819. SG-10.  If you try to print the manual to your printer and it
  2820. doesn't work, print it to a file, then use the DOS PRINT command,
  2821. your word processor, or some other print utility to print out the
  2822. manual.
  2823. .cp
  2824.  
  2825. SUPER-MAINT will work with any compiler that uses the command
  2826. format:
  2827.  
  2828.               compiler_name [command_flags] file_to_be_compiled
  2829.  
  2830. or:
  2831.  
  2832.   compiler_name [command_flags] file_to_be_compiled [command
  2833. flags]
  2834.  
  2835. An example would be the Microsoft C command:
  2836.  
  2837.               cl  -c  -AL  myfile.c
  2838.  
  2839. .cp
  2840.  
  2841. 3 Languages supported at a time
  2842. 3 Memory Models supported at a time
  2843. 95 Maximum Action Blocks
  2844. 18 Maximum Dependents in one Action Block
  2845. 128 Char Maximum Length of Command Line (Including expanded      
  2846.   macros)
  2847. 419 Lines Maximum length of Make File (Including comments -      
  2848.      about 6 pages - IF you use the SUPER-MAINT Editor)
  2849. 20 Disk Drives Maximum
  2850. 100 Directories per Drive
  2851.  
  2852. 11 Libraries per Memory Model
  2853. Number of files per directory is limited by available memory
  2854.  
  2855. Setup (SMSET) has beginner (novice) and advanced user modes
  2856.  
  2857. Microsoft, Borland and Mix Programming languages for the IBM PC
  2858. and compatibles are supported.
  2859. .cp
  2860.  
  2861. See the file "readme.sup" for information on other supported
  2862. compilers, linkers, etc. and their formats.  The file "super.inf"
  2863. has all the latest specs for this version of SUPER-MAINT.
  2864. *END*
  2865.  
  2866. %C%
  2867. Appendix C: The Landscape Printer≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  2868.  
  2869. The small landscape printer (S.COM) is a convenience for HP
  2870. Laserjet (and compatible) owners who's source code is wider that
  2871. 80 columns.  It prints using the small line printer font on both
  2872. sides of the page to save paper.  The syntax for using this
  2873. program is as follows:
  2874. .cp
  2875.  
  2876.               s [filename] [-i -h -l -s]
  2877.  
  2878. filename        the name of the file you want to print
  2879.  
  2880. -i             Information only.  Tells how many pages and sheets of
  2881.                paper you need, but does not print the file.
  2882.  
  2883. -h             Help screen
  2884.  
  2885. -l             Adds line numbers to the beginning of each line
  2886.  
  2887. -s             Print on a single side of the paper only.
  2888. .cp
  2889.  
  2890. S.COM prints all the odd pages first.  Then you turn the paper
  2891. around and replace it in the paper tray to print the event pages.
  2892.  
  2893. S.COM is part of the Programmer's SUPER-MAINT package.  It is
  2894. copyrighted software, and may not be distributed except as part of
  2895. SUPER-MAINT.
  2896. *END*
  2897.  
  2898. Appendix D: Registration Form≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ >
  2899.  
  2900. If you use SUPER-MAINT beyond the 30 day trial period you must
  2901. register your copy.  When you register you will receive the latest
  2902. version of SUPER-MAINT on disk (with the registration reminders
  2903. removed from the programs), and a printout of the manual.  You
  2904. will also receive notifications of updates, and discounted
  2905. upgrades.  You will also receive a serial number (to display press
  2906. alt-v) with will entitle you to technical support.
  2907.  
  2908. Distribution disks (registration NOT included) are $6 (plus S&L:
  2909. $2 for the first disk, .50 for each additional disk*).
  2910.  
  2911. Registration costs $55 plus $2.50 shipping & handling.  New York
  2912. residents MUST include sales tax (Mario insists!).  Help make the
  2913. shareware concept work by registering.
  2914.  
  2915. I would also like to hear your suggestions for new features in
  2916. future upgrades.  The policy at EmmaSoft is to consider all
  2917. suggestions, and incorporate as many of them as is deemed feasible
  2918. and appropriate.
  2919.  
  2920.               Programmer's SUPER-MAINT ORDER FORM
  2921.  
  2922.                  Name:__________________________
  2923.        Street Address:__________________________
  2924.                       __________________________
  2925.           City/ST/Zip:__________________________
  2926.  
  2927.             Disk Size:________
  2928.               Payment: check___  MC___ VISA___
  2929.             MC/VISA #:__________________________
  2930.               Expires:__________________________
  2931.  
  2932.  
  2933.         No. of Distribution Disks:______  Cost:_____________
  2934.          No. of Registered Copies:______  Cost:_____________
  2935.  
  2936.                                       Subtotal:_____________
  2937.                            Shipping & Handling:_____________
  2938.                         NY Tax (if applicable):_____________
  2939.                                 Total Enclosed:_____________
  2940.  
  2941.  
  2942.        Type of Computer_____________________________________
  2943.        Type of Printer______________________________________
  2944.        Compiler(s) used_____________________________________
  2945.  
  2946. Where did you get your trial
  2947. copy?___________________________________
  2948.  
  2949. Send this to:         EmmaSoft
  2950.                       PO Box 238
  2951.                       Lansing, NY 14882-0238
  2952.  
  2953. Or register with MC or VISA by phone:    (607)533-4685
  2954.                             by modem:    (607)533-7072
  2955.  
  2956. All funds must be in U.S. funds and drawn on a U.S. Bank.
  2957.  
  2958. *U.S. only.  If registering from outside the US please write about
  2959. Shipping 
  2960. charge before paying.  (Or call, or send a message to my
  2961. Compuserve address 
  2962. 71460,2644).  Thank you.
  2963.  
  2964.                                                Index
  2965.  
  2966. action block. . . . . . . . . . . . . . . . . . . . . 16, 17, 44, 45, 55
  2967. ASM . . . . . . . . . . . . . . . . . . . . . . . 12, 13, 36, 44, 45, 47
  2968. ASP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50-52
  2969. Association of Shareware Professionals. . . . . . . . . . . . . . 50, 51
  2970. batch . . . . . . . . . . . . . . . . . . 10, 11, 21, 28, 42, 43, 47, 54
  2971. BBS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1, 2, 30, 52
  2972. Borland . . . . . . . . . . . . . . . . . . . . . . . . . .2, 19, 43, 55
  2973. Clear+. . . . . . . . . . . . . . . . . 2, 8, 21, 28, 35, 36, 42, 48, 53
  2974. command. .8-12, 14, 16-20, 23, 25, 27, 29-31, 33, 36, 38, 39, 44, 45, 52
  2975.                       53, 55
  2976. command line. . .8, 9, 11, 12, 14, 16-19, 25, 29, 31, 33, 44, 45, 52, 55
  2977. comments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16, 55
  2978. compiler. 8, 10-12, 17, 18, 21, 25-27, 29, 30, 33, 34, 36-41, 51, 53, 55
  2979.                       58
  2980. compressed. . . . . . . . . . . . . . . . . . . . . . . . . . . . 43, 49
  2981. copyright . . . . . . . . . . . . . . . . . . . . . . . . . . . 1, 6, 49
  2982. date. . . . . . . . . . . . . . . . . . . . . . . . . . . .8, 11, 17, 53
  2983. default . . . . . . . . . . . . . . . . . . . .26, 29, 34-36, 41, 45, 53
  2984. delete. . . . . . . . . . . . . . . . . . . . . . . . . . 13, 24, 25, 41
  2985. dependent . . . . . . . . . . . . . . . . . 8, 16-19, 25, 26, 30, 45, 46
  2986. directory . .9-12, 15, 17, 22, 23, 26-28, 32, 35, 37, 40, 41, 45, 53, 55
  2987. distribution. . . . . . . . . . . . . . . . . . . . . .6, 43, 49, 57, 58
  2988. DOS . . . . . . . .2, 7, 9-13, 17, 20, 22, 24, 27, 29, 31-33, 37, 45, 55
  2989. drive . . . . . . . . . . . . . . . . .11, 12, 17, 22-24, 35, 43, 53, 55
  2990. edit help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
  2991. editor. . . 7-9, 11-13, 15, 16, 21, 22, 24-29, 31-37, 42, 45, 51, 53, 55
  2992. EmmaSoft. . . . . . . . . . . . . . . . . 1, 2, 6, 29, 30, 49-52, 57, 58
  2993. environment . . . . . . . . . . . . . . . . . . . . . . . . . . . 10, 53
  2994. erase object files. . . . . . . . . . . . . . . . . . . . . . . . . . 41
  2995. error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41, 53
  2996. exit. . . . . . . . . . . . . . . . . . . . . . . . . 11, 15, 22, 27, 36
  2997. files . . . . . . . . . . . . . . . . . . 7-18, 20-43, 46, 49, 50, 52-55
  2998. flag. . . . . . . . . . . . . . . . . . . . . .18, 19, 25, 26, 30, 39-41
  2999. global. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33, 41
  3000. help. . . . . . 2, 7-9, 11, 14, 15, 21, 23, 26, 27, 29-34, 37, 40-43, 49
  3001.                       51-54, 56, 57
  3002. indirect. . . . . . . . . . . . . . . . . . . . . . . 21, 28, 34, 42, 48
  3003. INSTALL.EXE . . . . . . . . . . . . . . . . . . . . . . . . . 10, 30, 42
  3004. installation. . . . . . . . . . . . . . . . . . . . . . . . . . . 10, 42
  3005. language definition files . 10, 12, 19, 25-27, 29, 30, 33, 36, 37, 42-44
  3006.                       52
  3007. librarian . . . . . . . . . . . . .11, 18, 19, 21, 23-27, 29, 30, 42, 46
  3008. library . . . . . . . . . . . . . . . . . 17, 19, 25, 28, 34, 35, 37, 42
  3009. link. . . . . . . . . . . . . . . . . . . . . .8, 12, 16, 36, 45, 47, 53
  3010. linker. . . . . . . . .11, 18, 19, 21, 23-30, 34, 39, 41, 42, 44, 46, 51
  3011. list. . . . . 10, 15, 19, 21, 22, 24, 28, 30, 34, 35, 37, 39, 42, 48, 54
  3012. local . . . . . . . . . . . . . . . . . . . . . . . . . . 33, 37, 41, 53
  3013. macro . . . . . . . . . . . . . .16, 18-20, 22, 24-27, 41, 42, 44-46, 54
  3014. macro set . . . . . . . . . . . . . . . . . . . . . . . . .20, 25-27, 44
  3015. make file 8, 9, 12, 14, 16, 18, 22, 24, 28, 32, 34, 36, 38-42, 44, 52-55
  3016. make menu . . . . . . . . . . . . . . . . 12, 13, 21, 22, 25, 28, 30, 33
  3017. maker . . . . . . . . . .8, 9, 16, 19, 25, 26, 28, 33, 36, 38-40, 42, 53
  3018. manual. . . . . . . . . . . 7, 8, 15, 25, 31, 32, 42, 43, 49, 51, 55, 57
  3019. memory model. . . . . . 8, 13, 18, 19, 25, 28, 30, 34, 37-42, 46, 54, 55
  3020. Microsoft . . . . . . . 2, 11, 12, 21, 28, 34, 36, 41-43, 46, 47, 54, 55
  3021. Microsoft MAKE. . . . . . . . . . . . . . . . . . 21, 28, 36, 42, 47, 54
  3022. Mix . . . . . . . . . . . . . . . . . . . . . . . . . . . .2, 22, 43, 55
  3023. mouse . . . . . . . . . . . . . . . . . .7, 8, 11, 15, 21-23, 27, 31, 33
  3024. NMAKE . . . . . . . . . . . . . . . . . . . . . . 21, 28, 36, 42, 43, 47
  3025. on line . . . . . . . . . . . . . . . . . . . . . . . . . . 7, 8, 15, 31
  3026. PC-lint . . . . . . . . . . . . . . . . .2, 8, 21, 28, 34-36, 42, 48, 53
  3027. placebo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18, 45
  3028. printing. . . . . . . . . . . . . . . . . . . . . . . . . . . .7, 15, 31
  3029. quick quit. . . . . . . . . . . . . . . . . . . . . . . . . . . . 11, 27
  3030. quit. . . . . . . . . . . . . . . . . . . . . . . . . . . 11, 21, 27, 34
  3031. registration. . . . . . . . . . . . . . . . . . . . 6, 7, 43, 49, 50, 57
  3032. reset . . . . . . . . . . . . . . . . . . . . . . 22, 24, 26, 27, 40, 41
  3033. response file . . . . . . . . . . .8, 12, 21, 22, 24, 28, 34, 36, 42, 46
  3034. review. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21, 34
  3035. S.COM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42, 56
  3036. sample. . . . . . . . . . . .10, 12-14, 23, 24, 26, 36, 38-41, 43-48, 52
  3037. self extracting files . . . . . . . . . . . . . . . . . . . . . . . . 43
  3038. serial number . . . . . . . . . . . . . . . . . .2, 7, 27, 29, 49-51, 57
  3039. setup . .9, 10, 12, 15, 21, 22, 28-30, 33, 34, 37, 40-42, 45, 50, 53, 55
  3040.                                                                                            
  3041. shareware . . . . . . . . . . . . . . . . . . . . 1, 2, 6, 43, 49-52, 57
  3042. SM.EXE. . . . . . . . . . . . . . . . . . . . . . . . . . .8, 19, 38, 42
  3043. SME.EXE . . . . . . . . . . . . . . . . . . . . . . . . . .8, 15, 21, 42
  3044. SMH.EXE . . . . . . . . . . . . . . . . . . . . . . . . . .9, 15, 31, 42
  3045. SMSET.EXE . . . . . . . . . . . . . . . . .9, 10, 15, 22, 24, 28, 33, 42
  3046. source code . . . . . . . . . . .8, 12, 17, 22-24, 27, 28, 34-36, 38, 56
  3047. SUPER.INI . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37, 41
  3048. SUPER-MAINT . . . . . . . . . . . . . . 1, 2, 7-19, 21, 22, 24-46, 49-58
  3049. SUPERFILES. . . . . . . . . . . . . . . . . . . . . . 10, 11, 15, 37, 53
  3050. target. . . . . . . . . . . . . . . . . 8, 16-18, 25, 26, 29, 45, 46, 53
  3051. target/dependent line . . . . . . . . . . . . . . . . . . . . .16-18, 46
  3052. technical assistance. . . . . . . . . . . . . . . . . . . . . . 2, 7, 51
  3053. text editor . . . . . . . . . . . . . . . . . . . .9, 13, 28, 31, 35, 53
  3054. TNAMES. . . . . . . . . . . . . . . . . . . . . . . . .18-20, 44, 45, 47
  3055. toolbox . . . . . . . . . . . . . . . . . . . . . .7, 21, 26, 27, 29, 31
  3056. touch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40, 41
  3057. version . . . . . . . . .1, 7, 8, 10, 21, 27, 29, 31, 32, 34, 49, 55, 57
  3058.  
  3059.